WCF Service Throttling

By Michael Flanakin @ 3:39 PM :: 8261 Views :: .NET :: Digg it!

A while ago, I implemented my first WCF service. When I did so, I left out something I knew would come back to haunt me: throttling. Well, to be honest, it's not necessarily that I expected it to "haunt" me, but I knew it was definitely something I would've liked to have looked into more. Unfortunately, so many things had changed at the time and we were on such a short time frame, more changes just didn't make sense. Thanks to Kenny Wolf Syndicated feed, I am now one step closer to that goal -- which is very nice since I didn't have to do any digging  Here's a summary... The ServiceThrottlingBehavior class and, more specifically, the corresponding config element specify 3 settings to control service throttling: MaxConcurrentCalls, MaxConcurrentInstances, and MaxConcurrentSessions.

<behavior name="throttled">
  <serviceThrottling 
    maxConcurrentCalls="10"     // # of messages the host can process (default = 10)
    maxConcurrentInstances="1"  // # of host instances
    maxConcurrentSessions="16"  // # of host sessions (default = 16)
    />
</behavior>

Kenny has a little more info on his site, so check that if you're interested in more details. I'm mainly interested in saving off the details I'll need to look at later. I assumed it would be specified in configuration -- what isn't in the world of WCF? -- but hadn't verified that yet. Thanks again, Kenny!

 

Ratings