3

別の WCF サービス (B) を呼び出すサービス (A) があります。

サービス B のデフォルト値は

<serviceThrottling 
      maxConcurrentCalls="16"
      maxConcurrentSessions="10" 
      maxConcurrentInstances="26" />

サービス A は最大 150 のスレッドを生成でき、そのうちのいくつかはサービス B を呼び出すことができます。

サービス A が最大同時接続数を超えてサービス B を呼び出すとどうなりますか?

サービス B (WCF) はそれらを破棄するか、キューに格納しますか?

4

1 に答える 1

3

接続が利用可能になるまで、クライアントはブロックされます。

もちろん、この動作は、待機中の接続要求を保持している別のキューが存在することを示しています。キューには独自のしきい値があると想定しているため、待機中の接続が最大数になると、それ以降の着信要求は破棄されます。(これは私の推測にすぎません。この理論上のキューがどこに設定されているかはわかりません。.....誰か?)。

実際、自動テストで接続が切断されないという問題が発生しました。これにより、しきい値に達したために最終的にシステムがハングしました。

https://stackoverflow.com/a/4031284/25216

于 2012-04-23T06:53:33.700 に答える