Reputation: 2423
We have a service (A) which Calls another WCF service (B).
Service B has the default values of
<serviceThrottling
maxConcurrentCalls="16"
maxConcurrentSessions="10"
maxConcurrentInstances="26" />
Service A can spawn up to 150 threads, which some of them can call service B.
what happens if service A calls service B with more than the max amount of concurrent connections?
Does service B (WCF) throws them away or stores them in a queue?
Upvotes: 3
Views: 2611
Reputation: 45252
The client is blocked until a connection becomes available.
Of course, this behavior indicates the existence of another queue, holding waiting connection requests. I assume that queue would have its own threshold, so once there are a maximum number of waiting connections, further incoming requests would be thrown away. (This is just conjecture on my part, I don't know where this theoretical queue is configured. .....Somebody?).
I actually experienced a problem in my automated tests where connections were not getting dropped, and this ultimately resulted in my system hanging because the threshold was reached.
https://stackoverflow.com/a/4031284/25216
Upvotes: 3