我们的 IIS 8.5 服务器上出现 500: Server Error 页面,出现的频率不同,并且错误的数量随着流量级别的增加而减少。
在调查事件日志后,我们发现以下错误。
状态服务器已关闭过期的 TCP/IP 连接。客户端的 IP 地址是 127.0.0.1。过期的读取操作开始于 10/11/2015 09:45:50。
(日期时间部分因发生时间而异)
我们尝试通过遵循许多在线推荐的解决方案来纠正问题,但没有什么能真正帮助我们。
ASPNET_State 服务超时,因此与该队列的所有连接都被放弃,因此响应服务器错误页面。
我已经尝试在 web 配置中增加sessionState超时,检查是否有内存泄漏,所以到目前为止没有任何效果。
该应用程序在 ASP.NET 4.0 经典模式下运行,IIS 版本为 IIS 8.5。
编辑 1
如果您参考图片,他们会同时放弃 10 多个请求!
另外,我可以看到另一个错误:
在状态服务器中处理请求时发生错误。主要调用栈:ContinueReading-->ProcessReading-->Tracker::Read。错误代码:0x80072736
但这是非常罕见的!
我感谢专家的任何帮助!非常感谢提前!!
更新
我是如何克服这个问题的
将 ViewState 的使用减少到几乎为零帮助我克服了这个问题。ASP 状态服务无法处理 X 号 ViewState 查找。因此,尽可能使其无状态。