次の方法で共有


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

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

この API 呼び出しの順序は、次の図のようになります。 アダプターは、青色で示されるインターフェイスを実装します。

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

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

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