Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sys.WebForms.PageRequestManagerServerErrorException/HTTP1.1内部服务器错误_C#_Asp.net_Ajax_Webforms_Updatepanel - Fatal编程技术网

C# Sys.WebForms.PageRequestManagerServerErrorException/HTTP1.1内部服务器错误

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

我已经阅读了几个星期的论坛,现在尝试不同的解决方案,但似乎没有任何帮助。我的问题是:

我创建了一个ASP.NET Web应用程序,用于在服务台设置中显示仪表板样式的指标。客户在服务台房间有大屏幕,显示我的web应用程序的特定页面

一些页面使用UpdatePanel,其他页面使用$.ajax每15秒调用一次代码隐藏(我为ajax调用设置了各种[WebMethod])

这些仪表板工作了大约一天,也许2天,然后它们停止刷新,上面的错误消息可以在控制台中找到。对ajax方法的Bug检查显示,它们遇到了ajax调用的“error:”部分

以下是我尝试过但无效的解决方案:

标题中添加了
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应用程序中遇到此问题的人