次の方法で共有


受信アダプターのインスタンス化と初期化

受信アダプターがインスタンス化された直後に、メッセージング エンジンによって初期化され、エンジンは IBTTransportControl の QueryInteraface を呼び出します。 その後、IBTTransportControl を呼び出します アダプターのトランスポート プロキシを渡して初期化します。このプロキシは、アダプターがメンバー変数に保持されます。 次に、エンジンは IPersistPropertyBagQueryInterface を呼び出します。 これは省略可能なインターフェイスです。アダプターが実装する場合、ハンドラー構成は Load メソッド呼び出しでアダプターに渡されます。 受信アダプターを初期化する最後の段階では、エンドポイント構成をアダプターに渡す必要があります。 このフェーズでは、エンジンはアクティブなエンドポイントごとに IBTTransportConfig.AddReceiveEndpoint を 1 回呼び出し、エンドポイントの URI、エンドポイントのアダプター固有の構成、およびそのエンドポイントの BizTalk 構成を渡します。

次の図は、この一連の API 呼び出しを示しています。 アダプターは、青色で表示されるインターフェイスを実装します。

API 呼び出しのシーケンスを示す画像。

実装のヒント: 一般に、アダプターは、 IBTTransportControl.InitializeIPersistPropertyBag.LoadIBTTransportConfig.AddReceiveEndpoint などの呼び出しでメッセージング エンジンをブロックしないでください。 これらの呼び出しで過剰な処理を実行すると、サービスの起動時間に悪影響を及ぼす可能性があります。

1 つ以上の受信場所が関連付けられているすべての受信アダプターは、サービスの起動時に作成されます。 すべての受信アダプターは非同期であり、バッチ処理をサポートします。 インプロセスでも分離することもできます。 受信アダプター変数の詳細については、「 アダプター変数」を参照してください。