如何prevent Internet Explorer的连接超时? [英] How to prevent Internet Explorer Connection Timeout?

查看:215
本文介绍了如何prevent Internet Explorer的连接超时?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果一个网站正在采取超过10秒来处理和页面负载,互联网浏览器将做一个连接超时。它有可能为用户prevent这通过在注册表中设置的默认值到一个更高的值。

但我真的不能告诉任何我的客户要做到这一点的;这样的我怎么prevent这首先发​​生?

我一直都学会了不使用缓存并刷新它,造成这将使数据的计算速度较慢。
与此的另一个问题是,所有的计算正在做第一和投入多维数组,并最终发布与的Response.Write 。我不认为,该缓存 刷新可以做到这事?


解决方案

  

我不认为,缓冲区冲洗能做到这事?


是的,它可以:


  

Internet Explorer错误连接超时时服务器没有响应


  
  

的Internet Explorer增添了对服务器返回的数据的超时限制。默认情况下,超时限制如下:Internet浏览器5到8:<强60分


看来你指的可能是由不同的应用程序设置不正确的超时,描述<一个href=\"http://stackoverflow.com/questions/2625650/internet-explorer-8-timeout-too-quick-on-page-posts\">in这个问题。


  

如果一个页面没有在几分钟内返回,许多用户认为发生了问题,他们停止这一进程。因此,你应该设计您的服务器进程返回大约五分钟内的数据,以便用户不必等待很长的时间。


该知识库文章还指出:


  

您可以一个漫长的过程,通常分解成更小的碎片。或者,服务器可以返回状态数据更新关于该过程的用户。此外,您可以创建一个具有信息为基础的或异步的方式,使其在作业提交后立即返回给用户,然后在漫长的过程完成后通知用户长时间服务器进程。


所以,你应该刷新数据到客户端,所以它知道该服务器还活着。


  

我一直都学会了不使用缓冲区并刷新它,造成这将使数据的计算速度较慢。


请显示出这样的索赔来源。当然,这会使得计算速度慢,但很可能不会显著。

我喜欢这种方法的知识库文章中建议。让您的服务器立即返回,当你排队长时间运行的操作。然后,客户端可以轮询有关操作的进展情况,所以它不会超时。

If a website is taking more than 10 seconds to process and load of a page, Internet Explorer will do a connection timeout. It is possible for the user to prevent this by setting the default value in the registry to a higher value.

But I really can't tell any of my clients to do this; so how do I prevent this to happen in the first place?

I have always learned not to use a buffer and flush it, cause this will make the calculation of the data slower. Another problem with this, is that all the calculation is being done first and put into a multidimensional array, which finally is posted with response.write. I dont think, that the buffer flush can do anything about this?

解决方案

I dont think, that the buffer flush can do anything about this?

Yes it can:

Internet Explorer error "connection timed out" when server does not respond:

Internet Explorer imposes a time-out limit for the server to return data. By default, the time-out limit is as follows: Internet Explorer 5 to 8: 60 minutes

It seems the timeout you're referring to might be incorrectly set by a different application, as described in this question.

If a page does not return within a few minutes, many users perceive that a problem has occurred, and they stop the process. Therefore, you should design your server processes to return data within approximately five minutes so that users do not have to wait for a long time.

The KB article also states:

You can usually break down long processes into smaller pieces. Or, the server can return status data to update users about the process. In addition, you can create a long server process that has a messages-based or asynchronous approach so that it returns immediately to the user after the job is submitted, and then notifies the user after the long process is finished.

So you should flush data to the client, so it knows the server is still alive.

I have always learned not to use a buffer and flush it, cause this will make the calculation of the data slower.

Please show sources for claims like this. Of course it will make the calculation slower, but most probably not significantly.

I like the approach suggested in the KB article. Let your server return immediately, while you enqueue the long running operation. The client can then poll about the progress of the operation, so it won't timeout.

这篇关于如何prevent Internet Explorer的连接超时?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆