Mithir
Mithir

Reputation: 2423

What happens when the maximum number of WCF connections is reached?

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

Answers (1)

Andrew Shepherd
Andrew Shepherd

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

Related Questions