I recently ran into a concurrency issue with WCF on a customer's 
system.  I'll get into the details later (though not too much detail... 
NDA ;) ), but it involved some testing of the various combinations of 
InstanceContextMode and ConcurrencyMode settings for a WCF service.  The
 table below is an attempt to clarify the results...
| InstanceContextMode | ConcurrencyMode | Resulting Behaviour | 
| PerCall | Single | 
 | 
| Multiple | Same as with ConcurrencyMode.Single | |
| PerSession | Single | 
 | 
| Multiple | 
 | |
| Singlton | Single | 
 | 
| Multiple | 
 | 
It's
 also worth noting that if you are using ServiceHost in an executable 
assembly, that the Main() method not be marked with the single threaded 
appartment attribute [System.STAThreadAttribute()].  This causes the 
application to be single threaded, and the additional threads will not 
be created regardless of the ConcurrencyMode.Multiple setting.  Rather, 
it should be decorated with the multi-threaded appartment attribute 
[System.MTAThreadAttribute()].
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号