我有一个ASP.Net应用程序,可以在报告时检索AJAX请求。报告可以运行很长时间,因此我将asyncpostbacktimeout
中的<asp:ScriptManager />
设置为600.但是,当我尝试运行报告时,如果运行时间超过90秒,则无法返回。我可以在IIS日志中看到POST请求以200状态成功,我可以看到所花费的时间远远少于600.
网页尽职地等待整个600秒,然后返回超时错误:
错误: Sys.WebForms.PageRequestManagerTimeoutException: 服务器请求超时。
我应该在IIS中检查任何设置吗?连接超时为900秒。
干杯, 伊恩
答案 0 :(得分:2)
你需要在几个地方设定时间......
1)在IIS网站连接超时:
这是经过的服务器断开请求客户端即浏览器的时间(以秒为单位)。确保该值略高于您的要求。确保在此之后重新启动IIS。
2)在web.config <httpRuntime />
httpRuntime executionTimeout =“1000”
这是经过的ASP.Net引擎停止执行处理页面循环的时间(以秒为单位)。确保正确设置。
3)在web.config <sessionState timeout="20"/>
确保设置得当。默认值为20分钟,因此不应与您的值相反,即600秒
4)<authentication mode="....." >
在web.config中,您的身份验证属性中的超时(以秒为单位)。如果您使用任何身份验证/授权
5)最后在脚本管理器中的Asyncpostbacktimeout属性值(以秒为单位)