【发布时间】:2011-09-01 16:43:56
【问题描述】:
我有一个随机会话超时的应用程序。 (Windows 2008 R2 上的 IIS 7.5,.NET 4.0)
我尝试了以下方法:
- 检查应用程序日志是否 w3wp.exe 进程崩溃,但没有条目。
- 在应用程序池中禁用快速故障保护
- 移至 sql server 状态提供程序以确保负载平衡器的粘性会话不是 问题。 (我们使用 kemp loadmaster)。
- 确保没有其他应用程序使用相同的应用程序池。
- 检查了调用程序集的线程中的异常是否得到正确处理。 (使用 throw new exception 模拟)并且错误处理是正确的。
- 确保在所有 4 个网络服务器的 webconfig 中将validationKey 和decryptionKey 设置为相同的密钥。
我现在想不出如何发现这个邪恶的错误。有什么建议?我无法在调试器中的本地机器上重现该问题。
可能很重要的一点是,从经常发生会话丢失的页面 1 移动到页面 2,有时需要超过 120 秒,因为通过 tcp 套接字连接的第三方系统。
【问题讨论】:
-
那么当你在本地调试时,是不是不能从这个第 3 方系统模拟超时或长时间运行的调用?
-
我使用 thread.sleep 做到了,但问题没有发生。
-
我刚刚提到它是因为也许有人知道我忘记的一些秘密 iis 设置。此外,如果发生这种超时,我希望在事件日志的应用程序部分有一个条目。
-
我希望有人在方向上有想法:iis 设置,疯狂的内存转储分析可能使用特定的脚本 usign windebug 或 iis 的一些特殊日志 modis 什么的。我没有更多的想法;-(
-
更新:我永远无法重现这个问题,我只是收到了外界的抱怨,并且经常在日志中看到它。将代码移出并没有帮助,因为我无法复制它,没有它,它作为一个 b2c 网站毫无意义。
标签: asp.net-mvc asp.net-mvc-3 iis-7