0

我们的 Web 应用程序中有一个按钮,单击该按钮会启动一个长时间运行的进程。根据这个过程的参数,http请求有时需要很长时间才能完成。一些 http 请求需要 30 秒,一些需要 1 分钟,还有一些需要 5 分钟以上。

我们遇到的问题是,大约 300 秒后(这是我在几次测试后得到的数字)后,一个 GET 请求从 IE6 发送到浏览器,告诉它通过转到以下 url 使会话无效:

https://ourwebsite.com/portal/jsp/login/logoff.jsp?loginUrl=/portal/jsp/login/login_norm.jsp&sessionInvalidated=true

我们目前正在调查我们的 javascript 代码或我们的 jsps 以寻找可能的罪魁祸首,但我们现在想排除这可能是浏览器的问题。

关于 IE6 的会话/连接超时,我有什么需要了解的吗?

我做了一些研究,发现它的 KeepAliveTimeout 为 1 分钟,ServerInfoTimeout 为 2 分钟。我们有大约需要 2 分 10 秒的 http 请求,这完全在 IE 的 3 分钟范围内(2 分钟 ServerInfoTimeout + 1 分钟 KeepAlivTimeout)。

达到此超时后会发生什么?

4

1 回答 1

4

IE 并不神奇地知道要获取哪个 URL,您的应用程序正在设置它,可能在 Javascript 中,可能通过setTimeout()调用。

在您的网络应用程序源中搜索它使用的参数;sessionInvalidated你会发现它被设置在哪里。

于 2011-01-05T10:38:01.580 回答