C# Sys.WebForms.PageRequestManagerServerErrorException/HTTP1.1内部服务器错误
我已经阅读了几个星期的论坛,现在尝试不同的解决方案,但似乎没有任何帮助。我的问题是: 我创建了一个ASP.NET Web应用程序,用于在服务台设置中显示仪表板样式的指标。客户在服务台房间有大屏幕,显示我的web应用程序的特定页面 一些页面使用UpdatePanel,其他页面使用$.ajax每15秒调用一次代码隐藏(我为ajax调用设置了各种[WebMethod]) 这些仪表板工作了大约一天,也许2天,然后它们停止刷新,上面的错误消息可以在控制台中找到。对ajax方法的Bug检查显示,它们遇到了ajax调用的“error:”部分 以下是我尝试过但无效的解决方案: 在C# Sys.WebForms.PageRequestManagerServerErrorException/HTTP1.1内部服务器错误,c#,asp.net,ajax,webforms,updatepanel,C#,Asp.net,Ajax,Webforms,Updatepanel,我已经阅读了几个星期的论坛,现在尝试不同的解决方案,但似乎没有任何帮助。我的问题是: 我创建了一个ASP.NET Web应用程序,用于在服务台设置中显示仪表板样式的指标。客户在服务台房间有大屏幕,显示我的web应用程序的特定页面 一些页面使用UpdatePanel,其他页面使用$.ajax每15秒调用一次代码隐藏(我为ajax调用设置了各种[WebMethod]) 这些仪表板工作了大约一天,也许2天,然后它们停止刷新,上面的错误消息可以在控制台中找到。对ajax方法的Bug检查显示,它们遇到了a
标题中添加了EnableSessionState=“False”
在
标题中添加了validateRequest=“false”
在
标题中添加了enableEventValidation=“false”
在我的web方法中添加了try-catch语句以捕获错误
添加了Global.asax并覆盖了应用程序错误。使其写入应用程序事件日志。下面的例子
Exception exc = Server.GetLastError().GetBaseException();
if (!EventLog.SourceExists("Dashboards"))
{
EventLog.CreateEventSource("Dashboards", "Dashboard");
}
EventLog log = new EventLog();
log.Source = "Dashboards";
log.WriteEntry(exc.ToString());
Server.ClearError();
这个Global.asax异常从未被调用(据我所知),我也从未记录过任何异常
我想不出还有什么其他的故障排除方法
如果我不得不猜测的话,我会说是每15秒一次的ajax/updatepanel调用导致了这个问题。该应用程序正在服务器2012上的IIS v8上运行。也许IIS认为它受到DDOS攻击或类似的攻击?另一种可能性是,我在代码隐藏(aspx.cs)中运行各种线程,更新ajax调用随后从中提取的信息。也许这根线不知怎么被弄死了
我现在没有主意了。任何故障排除方面的帮助都将不胜感激。我非常乐意上传更多的代码作为示例
感谢所有能够提供帮助的人。经过广泛的研究,我终于解决了这个问题 这些网页自然是长期运行的(它们是在服务台环境中不断显示和更新的仪表板),并且它们具有各种在后台执行操作的长期运行线程 IIS具有回收应用程序池的功能,默认情况下,间隔设置为29小时,这恰好是内部服务器错误的间隔 由于这是此服务器上运行的唯一应用程序,并且有少数计算机将访问此网站,因此我禁用了应用程序池回收。这立即解决了问题 我将定期检查服务器,以确保此更改不会导致任何其他不利问题,但到目前为止效果良好 希望这能帮助其他在长时间运行的web应用程序中遇到此问题的人