.NET Web サービスからアクセスする必要がある COM オブジェクトがあります。
私は STA/MTA のすべてを知っています。そのため、COM オブジェクトは MTA に変換され、グローバル状態はありません (それ自体はマルチスレッド化されていません)。
これを COM+ サーバーとして設定し、オブジェクト プールを指定すると、Web サービス スレッドごとに COM オブジェクトの異なるインスタンスが使用されることになりますか? キューに入れませんか?
ありがとう
.NET Web サービスからアクセスする必要がある COM オブジェクトがあります。
私は STA/MTA のすべてを知っています。そのため、COM オブジェクトは MTA に変換され、グローバル状態はありません (それ自体はマルチスレッド化されていません)。
これを COM+ サーバーとして設定し、オブジェクト プールを指定すると、Web サービス スレッドごとに COM オブジェクトの異なるインスタンスが使用されることになりますか? キューに入れませんか?
ありがとう
それはいくつかのことに依存します。
プール内のオブジェクト数に上限を設定し、Web サービス クライアントでオブジェクト参照を維持し、JIT を使用しないか、メソッド呼び出しで Done フラグを設定しない場合、それらはプールの制限に達するとキューに入れます。
JIT を使用し、メソッドで SetComplete を呼び出すか AutoComplete 属性を使用して Done フラグを設定すると、COM+ コンポーネントは非アクティブ化され、メソッドが戻るときにプールに戻されます。同時に実行されるメソッドの数が最大プール制限に達しない限り、新しいメソッド呼び出しを待機する必要はありません。