2011-05-06 21 views
0

私はWebHttpBindingを使用してWCFサービスを持っています。調整WCF WebHttpBinding

は、私は、次の設定を使用します。

InstanceContextMode = InstanceContextMode.Single、 ConcurrencyMode = ConcurrencyMode.Multiple私は20

にMaxConcurrentCallsが限られている

私は何を参照するには、次のものがあります。if 20の限界に達し、新しい接続/要求がキューに入れられます。代わりに、 "サービスビジー"メッセージのようなものが送信されるようにするにはどうすればよいですか?

多くのありがとう

答えて

0

「サービスビジー」は、WCFがメッセージの処理に失敗した結果です。私はなぜあなたが失敗した要求を1つのプロセスよりも優先して処理するのがもう少し長くかかるかもしれないのか分かりません。また、WCFはサービス調整パラメータを公開しますが、組み込みのWCFキューイングメカニズムを直接構成することはできません。

表示されているようにシングルトン構成(maxConcurrentCalls = "1"またはInstanceContextMode.Single)であっても、同時呼び出しだけでなく2つの他のパラメータ(maxConcurrentSessionsおよびmaxConcurrentInstances)の影響を受けます。 This article has a good overviewは、3つのパラメータの影響を含んでいます。これらの調整やタイムアウトの設定によって、実際に必要なものがあれば、おそらく "サービスビジー"状態になる可能性があります。

1

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

関連する問題