IIS doesn't send two responses to the same client at the same time (only for ASP)

Posted by dr. evil on Stack Overflow See other posts from Stack Overflow or by dr. evil
Published on 2009-07-19T17:23:03Z Indexed on 2010/05/09 5:28 UTC
Read the original article Hit count: 199

Filed under:
|
|

I've got 2 ASP pages.

I do a request to the first page from Firefox (which takes 30 seconds to process on server-side), and during the execution of 30 seconds I do another request from Firefox to the second page (takes less than 1 second in server-side), but it does come after 31 second. Because it waits first requests to finish.

When I request to the first page from Firefox and then request the second page from IE it's just instant.

So basically ASP - IIS 6 somehow limiting every client to one request (long processing request) at a time. I need to get around this problem in my .NET client application.

This is tested in 3 different systems. If you want to test you can try the ASP scripts at the end.

This behaviour is same in a long SQL execution or just in a time consuming ASP operation.

Note:

  • It's not about HTTP Keep Alive
  • It's not about persistent connection limit (we tried to increase this in firefox and in .NET with Net.ServicePointManager.DefaultConnectionLimit)
  • It's not about User Agent
  • This doesn't happen in ASP.NET so I assume it's something to the with ASP.dll
  • I'm trying to solve this on the client not the server. I don't have direct control over the server it's a 3rd party solution.

Is there any way to get around this?

Sample ASP Code:

First ASP:

<%
Set cnn = Server.CreateObject("Adodb.Connection")
cnn.Open "Provider=sqloledb;Data Source=.;Initial Catalog=master;User Id=sa;Password=;"
cnn.Execute("WAITFOR DELAY '0:0:30'")
cnn.Close
%>

Second ASP:

<%
Response.Write "bla bla"
%>

© Stack Overflow or respective owner

Related posts about iis6

Related posts about http