1

WCF サービスをテストしています。2 つの (仮想的に) 並列の要求を WCF サービスに送信したいと考えています。ただし、私はInstanceMode = PerSessionそのままで結構です。サービスの動作を変更したくありません。

ただし、私の質問は、2 つのプロキシ クライアント オブジェクトを作成すると、個別のセッションが強制されるのでしょうか? または、異なるクライアント セッションを介して 2 つの要求を送信するために行うべきことは他にありますか? これをテストするために、サンプルの C# コンソール アプリケーションを作成しました。

MyService client = new MyService();
MyService  client1 = new MyService();
client.GetResultsAsync();
client1.GetResultsAsync();
4

1 に答える 1

2

この問題を解決する主要な機能、つまりInstanceMode = PerCall.

WCF サービスごとの動作 - インスタンスおよび同時実行管理:

のデフォルト設定を使用するInstanceMode = PerSessionConcurrencyMode = ConcurrencyMode.Single、「すべてのクライアントが、クライアントごとに 1 つのスレッドでのみ実行される独自のセッションを持っているという結論を下すのは簡単です。」

WCF サービスのプログラミングごと- 第 3 版177 ページ:

「クライアントがセッションフル サービスとして構成されたサービスへの新しいプロキシを作成すると、クライアントは同じサービスの他のすべてのインスタンスから独立した新しい専用サービス インスタンスを取得します」

于 2013-10-24T15:10:49.170 に答える