ASP.NET MVC3中的随机会话超时

Nic*_*ckD 6 asp.net-mvc iis-7 asp.net-mvc-3

我有一个应用程序,可以获得随机会话超时.(Windows 2008 R2,.NET 4.0上的IIS 7.5)

我尝试了以下方法:

  • 如果w3wp.exe进程崩溃,则检查应用程序日志,但没有条目.
  • 在应用程序池中禁用快速失败保护
  • 移动到sql server状态提供程序,以确保loa​​dbalancers粘性会话不是问题.(我们使用kemp loadmaster).
  • 确保没有其他应用程序使用相同的应用程序池.
  • 检查已正确处理被调用程序集的线程中的异常.(使用throw new exception模拟)并且错误处理是正确的.
  • 确保在所有4个Web服务器上的webconfig中将validationKey和decryptionKey设置为相同的密钥.

我现在运行的想法如何发现这个邪恶的错误.有什么建议?我无法在调试器中重现本地计算机上的问题.

一点可能很重要,因为通过tcp套接字连接的第三方系统,从第1页到第2页的移动经常发生会话丢失,有时超过120秒.

小智 7

HI史努比你链接到我的问题,因为他们是相似的,

当我的appool崩溃时,我尝试了这个解决方案.如果您的appool崩溃,这可能有助于 http://support.microsoft.com/kb/911816

解决方案停止修复黑客保持我的应用程序池,但没有解决问题,

<configuration>
<runtime>
    <legacyUnhandledExceptionPolicy enabled="true" />
</runtime>
Run Code Online (Sandbox Code Playgroud)

如果您的应用程序池仍然完好无损,您可以尝试使用ELMAH,因为这对我有很大帮助 http://code.google.com/p/elmah/

您可以使用此代码让ELMAH处理非托管异常 http://code.google.com/p/elmah/issues/detail?id=199

我很好奇,如果它是.net 4.0的MVC 3.0问题,因为我有几个非常相似的应用程序运行使用MVC 2.0没有问题,只有当我转移到MVC 3.0时才开始