1

在我的应用程序中,我从近 70 台服务器获取用户详细信息。获取详细信息最多可能需要 2 分钟。但是当应用程序超过 90 秒时,应用程序超时。除了左下角出现超时异常(浏览器中的警报消息)外,屏幕没有任何变化

我在配置文件中将执行超时设置为 3600,如下所示。但它仍然在 90 秒内超时。

<httpRuntime maxRequestLength="2147483647" executionTimeout="3600"/>

请帮我解决这个问题。提前致谢

4

3 回答 3

1

尝试这个

<configuration>
 <system.web>
  <sessionState timeout="20"></sessionState>
 </system.web>
</configuration>

使用此代码,您的应用程序将在 20 分钟后退出。

于 2013-05-27T07:41:53.447 回答
0

据我所知,这里有两个问题。第一个是实际的页面渲染。您应该考虑加载一次页面,然后触发一些东西来获取您的用户。同时,页面加载后应该进行 AJAX 调用以获取用户。

第二个问题是长时间运行的进程不能很好地与 ASP.Net 一起工作,原因有几个。其中之一是应用程序池每隔一段时间就会中止所有线程。你可以不打扰这个,但时不时你会失败。否则,您需要将其推送到 Windows 服务中,并且网页应该从 Windows 服务中请求它。ajax 应该每 1 到 2 秒轮询一次页面以查看是否完成。一旦 Windows 服务完成工作,它应该更新一些东西(可能是一个数据库表),然后你在 AJAX 中返回结果。

于 2013-05-27T07:44:26.230 回答
0

我遇到了同样的问题,不得不增加脚本管理器 AsyncPostBackTimeout="1200" 的超时时间(默认为 90 秒)

于 2016-02-11T14:09:56.437 回答