[Mono-dev] Mixing multiple sync/async requests to xsp/mod_mono

Robert Sim robert.sim at gmail.com
Fri May 2 18:17:51 EDT 2008

Hi,  I'm having some difficulty getting xsp2 to manage multiple
requests.  I'm running xsp2 1.2.4.

As I understand it, ASP.NET on windows has the limitation of 2 server
threads per client connection.  My client app uses one thread to
continuously poll with an async request (waiting for a server event),
and the other to execute synchronous calls.   If I want to execute any
other async requests, I can get around the limitation by instantiating
a second instance of the web service in the client app, and executing
the request on that instance.  All of this works fine using the
windows development server.

Switching to mod_mono or xsp2 I can still execute a single async call
simultaneously with a synchronous call, but if I create a second
webservice instance in the same process and attempt another async
call, any further synchronous calls on the first instance are blocked
until the second call returns or times out.

Any suggestions/workarounds would be most appreciated.

Here's some illustrative sample code:

MyClientAppMethod() {
    MyWebService svc1 = new MyWebService();
    MyWebService svc2 = new MyWebService();
    // Set up async event completion handling
    // now do some calls
    svc1.Method2(); // this sync call works ok

     svc2.Method3Async();  //note the call on svc2 instead of 1.
     svc1.Method2(); // with Method1Async and Method3Async
outstanding, this call blocks until one of the async calls times out.

More information about the Mono-devel-list mailing list