0

我有某些用例,其中处理可能需要长达 2 小时的时间。所以一旦用户从浏览器提交请求,我的理解是浏览器会继续等待响应的到来。但是大约 15-20 分钟后出现错误页面。

我知道网络请求不应该耗费太多时间,但我坚持现有的架构和设计。

有人可以为这个问题提出一些解决方案。

我使用 IE 9 作为浏览器。Tomcat 作为服务器。

4

2 回答 2

0

对于类似问题,您可以做的是在服务器上创建一个单独的线程,并向用户返回一个响应,说作业已经开始,然后要么

  • 在特定页面上显示该作业的结果(这似乎是一个可接受的解决方案,用户可能不会为这么长时间的任务留在他的屏幕前)
  • 或通过 ajax 进行一些轮询以获取您刚刚触发的作业的状态。
于 2013-10-22T11:10:59.387 回答
0

很可能服务器超时约为 15 分钟,因此您会在 15 分钟后收到错误消息。一种解决方案是增加服务器超时。但是增加到 2 小时就太长了。另一种选择是从浏览器轮询服务器以了解任务的状态。您可以为此目的使用 ajax 调用。

于 2013-10-22T11:08:59.767 回答