BizTalk Server でのアダプターのインスタンス化
BizTalk サービスの開始時に、構成されてアクティブである受信場所が 1 つ以上ある場合は、すべての受信アダプターがインスタンス化されます。 既定では、送信アダプターによって送信される最初のメッセージをメッセージング エンジンがキューから削除するまで、送信アダプターはインスタンス化されません (これは"レイジー作成" と呼ばれることもあります)。ただし、サービスの起動時に送信アダプターをインスタンス化する必要がある場合は、 InitTransmitterOnServiceStart アダプター機能を使用できます。 これにより、メッセージング エンジンは既定のレイジー作成ではなく、サービスの開始時に送信アダプターを作成するようになります。 既定のレイジー作成の方法は、エンドポイントにアダプターが構成されていない場合に、システム リソースの使用量を削減する上で役立ちます。
カスタム アダプターを作成するときには、マネージド コードを使用することをお勧めします。 ただし、ネイティブ COM コンポーネントを使用することもできます。 COM コンポーネントの場合、アダプターは CoCreateInstance を使用して通常の方法でインスタンス化されます。
マネージド コードの場合は、構成ファイルで .NET 型 を指定する必要があります。アセンブリ パスは省略可能です。
使用できる展開オプションは、次のとおりです。
.NET 型 | アセンブリ パス | アセンブリ展開メソッド |
---|---|---|
指定済み | 指定なし | アセンブリと同じ名前を持つ、製品ディレクトリまたは製品ディレクトリ内のサブディレクトリへの Copy アセンブリ |
指定済み | 指定なし | グローバル アセンブリ キャッシュ (GAC) アセンブリ |
指定済み | 指定済み | 指定されたディレクトリへの Copy アセンブリ |
トラブルシューティングのヒント: マネージド コードを使用してアダプターを作成するときに、作成が失敗した場合は、fuslogvw.exe ツールを使用して、解決できないアセンブリへの参照があるかどうかを判断します。 これはよくある間違いです。
指定された構成に応じた、アダプター作成時のロジックを次に示します。
次の表に、受信アダプターを構成する方法と、ランタイム アセンブリを構成する方法の例を示します。
アセンブリ展開メソッド | InboundTypeName | InboundAssemblyPath |
---|---|---|
アセンブリの場所の指定 | Microsoft.Samples.MyReceiveAdapter | C:\MyAdapter\MyAdapter.dll |
.NET 型 (公開キー、バージョン、およびカルチャ情報) の指定 | Microsoft.Samples.MyReceiveAdapter, MyReceiveAdapter, Version=1.0.2510.24622, Culture=neutral, PublicKeyToken=077cf886a2d1c020 | 該当なし |
GAC アセンブリ | Microsoft.Samples.MyReceiveAdapter, MyReceiveAdapter, Version=1.0.2510.24622, Culture=neutral, PublicKeyToken=077cf886a2d1c020 | 該当なし |