Hi~.

I've developed wcf service and its configurations settings like these.



Host: iis 6.0

binding: wsHttpBinding

web.config

<reliableSession enabled ="false" />



<serviceThrottling maxConcurrentCalls="2" maxConcurrentInstances="2"
maxConcurrentSessions ="2" />



service Code:

[ServiceContract(SessionMode=SessionMode.NotAllowed)]

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode=InstanceContextMode.PerCall)]



and in my client, it calls service method like this.



try{

proxy.Divide(1,1);

proxy.Divide(1,0); // causes divideByZeroException in the service Code

}catch(Exception ex){

proxy.Abort();

}



When i execute client program , the first 3 client call the service's method
normally.

But the fourth client's call is blocked. why is that?

i know that if i increase throttling settings or just call to proxy.close();
will solve this

problem.

What i want to know is what blocks my client's call?

because my service do not use session, maxConcurrentSessions=2 setting would
not bother client's call and Raw .net Exception - in my case
DivideByZeroException-would kill service instance, maxConcurrentInstances="2"
shouldn't be the problem.



please let me know!! thanks