Posts

Showing posts from April, 2009

WCF InstanceContextMode and ConcurrencyMode

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 New InstanceContext created per call Calls processed concurrently, because each call gets it's own instance Multiple Same as with ConcurrencyMode.Single PerSession Single New InstanceContext is created for each client proxy connection Each call is pooled and processed serially in a FIFO manner Multiple New InstanceContext is created for each client proxy connection Each call is processed as soon as it arrives A single instance of the proxy is required for concurrent processing from a single client Singlton Single Single instance of an InstanceContext Each call is pooled and proc