0

WebHttpBinding を使用する WCF サービスがあります。

次の構成を使用します。

InstanceContextMode = InstanceContextMode.Single、ConcurrencyMode = ConcurrencyMode.Multiple

MaxConcurrentCalls を 20 に制限しました。

私が見ているのは次のとおりです.20の制限に達すると、新しい接続/リクエストがキューに入れられます. 代わりに「サービスがビジー」メッセージのようなものが送信されるようにするにはどうすればよいですか?

どうもありがとう

4

2 に答える 2

1

このような場合、クライアントは、サービスがエラー コードで失敗するのではなく、リクエストのタイムアウトでサービスがビジーであると推測する方がよいと思います。

于 2014-02-07T08:11:55.690 に答える
0

"サービスがビジー状態" は、WCF がメッセージの処理に失敗した結果です。正常に処理されるまでに少し時間がかかる可能性のあるリクエストよりも、失敗したリクエストを好む理由がわかりません。また、WCF はサービス調整パラメーターを公開していますが、組み込みの WCF キューイング メカニズムを直接構成できるとは思えません。

示したようなシングルトン構成 (maxConcurrentCalls="1" または InstanceContextMode.Single) の場合でも、スロットリングは同時呼び出しだけでなく、他の 2 つのパラメーター (maxConcurrentSessions と maxConcurrentInstances) の影響も受けます。この記事では、関連する 3 つのパラメーターの効果について概説しています。これらとタイムアウト設定を微調整することで、それが本当に必要な場合は、おそらく「サービスビジー」状態を強制できます。

于 2011-05-06T17:40:06.303 に答える