服务器自动关机重启1076,状态服务器上的事件 ID 1072 或1076 - ASP.NET | Microsoft Docs...

State server 日志事件 ID 1072 或事件 ID 1076

03/25/2020

本文内容

本文帮助您解决记录事件 ID 1072 或1076在状态服务器上出现的问题。

原始产品版本:  Microsoft .NET Framework

原始 KB 数:  308097

症状

在 ASP.NET 中使用会话状态的状态服务器模式时,会在状态服务器计算机的应用程序事件日志中显示以下事件之一。 当 Web 服务器或运行状态服务器的计算机处于高压力时,会发生这种情况。

事件类型:错误

事件源:ASP 1.0.3306。0

事件类别:无

事件 ID:1072

日期: 9/12/2001

时间:4:00: 25 PM

用户: N/A

计算机: ComputerName

说明:

在状态服务器中处理请求时出现错误。 主调用堆栈: EndOfRequest。 错误代码:0x80072746

备注

上一事件消息中提到的 .NET Framework 版本是 .NET Framework 1.0 的预发布版本。

事件类型:错误

事件源:ASP 1.0.3306。0

事件类别:无

事件 ID:1076

日期: 9/12/2001

时间:4:02: 05 PM

用户: N/A

计算机: ComputerName

说明:

状态服务器已关闭过期的 TCP/IP 连接。 客户端的 IP 地址为127.0.0.1。 过期的读取操作在 09/12/2001 16:02:00 处开始。

备注

上一事件消息中提到的 .NET Framework 版本是 .NET Framework 1.0 的预发布版本。

事件类型:错误

事件源: ASP.NET 1.1.4322。0

事件类别:无

事件 ID:1078

日期:10/6/2005

时间: 11:03:47 AM

用户: N/A

计算机: ComputerName

状态服务器已关闭过期的 TCP/IP 连接。 客户端的 IP 地址为127.0.0.1。 过期的读取操作在 10/06/2005 11:03:25 处开始。

原因

在 ASP.NET 中使用会话状态的状态服务器模式时,Web 服务器中的 ASP.NET Web 服务器进程通过使用 WinSocket over 传输控制协议/Internet 协议(TCP/IP)与状态服务器进行通信。 默认情况下,Web 服务器进程将所有发送和接收 TCP/IP 操作的超时值设置为10秒。 同样,状态服务器也会在10秒后发出所有发送和接收 TCP/IP 操作的时间。

但是,如果 Web 服务器或状态服务器的 CPU 使用率高(接近100%),则 TCP/IP 操作可能需要10秒以上的时间,因此在完成之前将被取消。 因此,将记录上面提到的事件之一,并且源客户端请求失败。 如果 ASP.NET Web 服务器进程超时 TCP/IP 操作,则状态服务器将记录事件 ID 1072。 如果状态服务器将 TCP/IP 操作超时,则状态服务器将记录事件 ID 1076。

解决方案

若要修改 ASP.NET Web 服务器进程的 TCP/IP 操作超时值,请更改Machine.config文件中的以下属性(或在Web.config文件中为任何 Web 应用程序指定以下属性)。

stateNetworkTimeout="10"

/>

下面介绍了如何修改状态服务器的 TCP/IP 操作超时值:

停止 ASP.NET 状态服务器服务。

选择 "开始",选择 "运行",键入Regedt32.exe,然后选择 "确定" 启动注册表编辑器。

在注册表中找到以下项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameter

添加一个名为SocketTimeout的 DWORD 值。 设置正整数以表示新的 TCP/IP 超时(以秒为单位)。

退出注册表编辑器。

重新启动 ASP.NET state server 服务。

对于遇到 "症状" 部分中提到的问题的用户,请使用这些方法将状态服务器和所有 Web 服务器上的超时值增加到20秒。

备注

如果在 Web 服务器上增加超时值时状态服务器未运行,则客户端请求将在n秒后超时,其中n等于新的超时值,而不是默认的10秒。