如何在我的一半请求上调试SessionStateModule / REQUEST_AQUIRE_STATE> 100秒?

这种情况在最近几天开始发生; 可能是因为我安装了Visual Studio 2012.它目前只在我的机器上发生(我的同事们都在VS 2010上),但我希望卸载VS 2012,看看是否有影响。

我的所有Web请求中约有50%在SessionStateModule / REQUEST_AQUIRE_STATE中挂起约100秒(然后页面成功完成)。

ANTS Profiler一直报告为“等待同步”,并在一些IIS线程回调中给出了堆栈跟踪(我们的代码都没有;遗憾的是我没有信息可用)。

我为所有请求启用了IIS失败请求跟踪,并重新加载了我们应用的同一页面10次。 请求3,5,7,9全部耗时> 100秒,其他请求耗时<5秒。

我们正在使用In Process会话,因此没有任何内容通过网络或被序列化。 据我所知,在发生这种情况之前,我们的代码都没有运行过。

如何获得有关调试问题的更多信息?

IIS失败请求跟踪截图

可能相关:

即使在调用abort之后,浏览器也会等待ajax调用完成(jQuery)

这是.NET 4.5中的一个错误; 请参阅此页面上的“问题6”:

http://support.microsoft.com/kb/2828841/en-us

听起来RC .NET 4.5中可能存在错误。 首先我会尝试卸载。 否则,为了进行故障排除,您可以使用以下文章创建自己的会话状态模块处理程序,也许您将能够看到在应用程序中将会话模块绊倒的内容。

http://msdn.microsoft.com/en-us/library/system.web.sessionstate.sessionstateutility.aspx#Y969