受信アダプターがインスタンス化された直後に、メッセージング エンジンによって初期化され、エンジンは IBTTransportControl の QueryInteraface を呼び出します。 その後、IBTTransportControl を呼び出します。 アダプターのトランスポート プロキシを渡して初期化します。このプロキシは、アダプターがメンバー変数に保持されます。 次に、エンジンは IPersistPropertyBag の QueryInterface を呼び出します。 これは省略可能なインターフェイスです。アダプターが実装する場合、ハンドラー構成は Load メソッド呼び出しでアダプターに渡されます。 受信アダプターを初期化する最後の段階では、エンドポイント構成をアダプターに渡す必要があります。 このフェーズでは、エンジンはアクティブなエンドポイントごとに IBTTransportConfig.AddReceiveEndpoint を 1 回呼び出し、エンドポイントの URI、エンドポイントのアダプター固有の構成、およびそのエンドポイントの BizTalk 構成を渡します。
次の図は、この一連の API 呼び出しを示しています。 アダプターは、青色で表示されるインターフェイスを実装します。
実装のヒント: 一般に、アダプターは、 IBTTransportControl.Initialize、 IPersistPropertyBag.Load、 IBTTransportConfig.AddReceiveEndpoint などの呼び出しでメッセージング エンジンをブロックしないでください。 これらの呼び出しで過剰な処理を実行すると、サービスの起動時間に悪影響を及ぼす可能性があります。
1 つ以上の受信場所が関連付けられているすべての受信アダプターは、サービスの起動時に作成されます。 すべての受信アダプターは非同期であり、バッチ処理をサポートします。 インプロセスでも分離することもできます。 受信アダプター変数の詳細については、「 アダプター変数」を参照してください。