Session Management: configures how service object life time is managed during client requests.
- Per Call - a new service instance is made for each method call from client.
- Per Session - a single instance will cater all calls from a client.
- Single Instance - all client calls will work under a single instance of service object.
Concurrency Mode: configures how service instances servers multiple client requests at the same time.
- Single - a single request will be catered by service object, other requests need to wait during this period.
- Multiple - multiple requests will be processed by service object by spawning threads. This approach is beneficial for good throughput.
- Re entrant - single requesting client has access to the WCF service object thread, but the thread can exit the WCF service to call another WCF service or can also call a WCF client through callback and reenter without deadlock.
By default WCF services is configured to have Per Call session, Single ConcurrencyMode.
Throttling behavior of WCF helps in putting upper limit for no of sessions, concurrent calls & instances. Following flags are used for this
- MaxConcurrentCalls
- MaxConcurrentInstances
- MaxConcurrentSessions