我的 Web 应用程序 (ASP.NET 4.0) 从客户端调用服务器(使用 AjaxPro 库,但我认为这没有任何区别)。该调用正在服务器上启动一项可能需要长时间运行的任务——有时可能需要大约 5 分钟才能完成。这次我非常乐意等待,但由于某种原因,我的请求在恰好 90 秒后被打断——2 米 60 秒(根据 FireBug)。 它发回 Service Unavailable 503 消息。只有当我在 IIS (7.0) 上托管我的应用程序时才会发生这种情况,它在我的本地 PC 上以 Debug模式从 ASP.NET 开发服务器上的 VS2010 正常运行(即处理所有 5 分钟的请求而不中断它)。
到目前为止我已经尝试了几种方法:
- 我增加了 AjaxPro 全局超时:AjaxPro.timeoutPeriod = 1000000;
我修改了我的 web.config 文件如下:
在 IIS 管理器 -> 站点 -> 我的网站 -> 高级设置中,我增加了连接超时(秒)属性的值。
- 在应用程序的应用程序池 -> 高级设置中,我增加了所有可能的超时:
- 我尝试在服务器端处理程序的代码中增加 HttpContext.Current.Server.ScriptTimeout。
注意似乎有所帮助。它在 ASP.NET 开发服务器上运行良好,但当涉及到 IIS 时,它只是在 90 秒后准确地切断了我的请求。
有什么想法吗,伙计们?
最佳答案
asp:ScriptManager 中还有另一个称为“AsyncPostBackTimeOut”的超时,默认情况下精确设置为 ... 90 秒。
关于90 秒后 ASP.NET 请求超时 - 服务不可用 503,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363118/