I've read over a bunch of posts on how to enable WCF async in my service implementation. I believe I have followed those instructions:
* Only include the BeginXXX and EndXXX() methods.
* Using async module and handler via tool provided in one of the posts
* Concurrent requests reg key set to 100. Throttling concurrency attributes set high.
and yet I still see queueing of the requests. I'm running on Windows 7, .NET 2.0 (3.5 SP1), and IIS7 integrated mode. I've got a dual core with hyperthreading so four virtual processors. I have a client which issues 50 synchronous
calls to the server (client and server both run on the same machine). What I'm seeing is that all 50 requests make it to http.sys. However 10 requests are processed at a time.
Here is the server begin and end methods:
public IAsyncResult BeginComplexSum(ComplexAddends complex,
AsyncCallback callback, object state)
return new AsyncResult(callback, state, complex.First, complex.Second,
public ComplexResult EndComplexSum(IAsyncResult result)
if (!(result is AsyncResult))
throw(new ArgumentException("result not AsyncResult"));
if (result.IsCompleted == false)
View Complete Post