在我的应用程序中,我从近 70 台服务器获取用户详细信息。获取详细信息最多可能需要 2 分钟。但是当应用程序超过 90 秒时,应用程序超时。除了左下角出现超时异常(浏览器中的警报消息)外,屏幕没有任何变化
我在配置文件中将执行超时设置为 3600,如下所示。但它仍然在 90 秒内超时。
<httpRuntime maxRequestLength="2147483647" executionTimeout="3600"/>
请帮我解决这个问题。提前致谢
尝试这个
<configuration>
<system.web>
<sessionState timeout="20"></sessionState>
</system.web>
</configuration>
使用此代码,您的应用程序将在 20 分钟后退出。
据我所知,这里有两个问题。第一个是实际的页面渲染。您应该考虑加载一次页面,然后触发一些东西来获取您的用户。同时,页面加载后应该进行 AJAX 调用以获取用户。
第二个问题是长时间运行的进程不能很好地与 ASP.Net 一起工作,原因有几个。其中之一是应用程序池每隔一段时间就会中止所有线程。你可以不打扰这个,但时不时你会失败。否则,您需要将其推送到 Windows 服务中,并且网页应该从 Windows 服务中请求它。ajax 应该每 1 到 2 秒轮询一次页面以查看是否完成。一旦 Windows 服务完成工作,它应该更新一些东西(可能是一个数据库表),然后你在 AJAX 中返回结果。
我遇到了同样的问题,不得不增加脚本管理器 AsyncPostBackTimeout="1200" 的超时时间(默认为 90 秒)