Here\'s my environment: IIS7.5 on Win 7, .NET 4, App Pool Integrated
web.config
&l
From your description it looks like IIS deadlocks when it tries to acquire the session object for your request. I wouldn't be looking for a reason in the browsers because this can only be a server side issue. And probably one you can't do much about. If it is a deadlock, than it's a multi-threaded, timing dependent problem. So if different browsers send requests with slightly different timing, you get different results. Also if you run the browsers locally or remotely, you get slightly different timings. Emptying the session doesn't help because the problem is on session acquisition. Disabling the session completely does help, because the session isn't acquired at all. Changing the AppPool to Classic helps because it has a different implementation of Session management which doesn't have the deadlock. To test the hypothesis, you can try inserting an artificial delay between the postbacks on the client side. This will create different timing conditions and should affect the problem.
I have to say that these are just speculations based on your description and my experience with IIS. I would suggest that you change the AppPool to Classic because the performance downside aren't that huge.