标准的XmlHttpRequest对象没有内置的超时机制.Ajax请求将无限期地继续,因为没有标准的超时方法.但是有一些方法可以解决这个问题,我认为这是ASP.NET在其框架中所做的事情.
IE8是唯一具有内置超时属性的浏览器,所以我猜他们的Ajax框架会与之一致.在这种情况下,默认情况下超时将是无限期的.
ASP.NET还具有AsyncTimeout异步页面任务的属性,因此框架可能会在45秒内超时(服务器端),这是ASP.NET页面中异步任务的默认设置.
似乎没有我能找到的默认超时.如果我是你,我不会依赖默认的超时长度.如果您担心超时,则应指定自己的长度.默认情况下,超时可以无限长.用户不会无限期地等待,所以最好将超时定义为用户应该应对的最大等待时间(取决于上下文).
更新
我创建了一个带有Page方法的测试页面,需要65分钟才能加载(使用Thread.Sleep()).页面方法调用等待了整整65分钟,因此看起来我的假设是正确的.页面方法默认情况下没有超时,或者如果超时,则超时超过1小时.不要忘记本地开发机器实际上有无限的服务器超时,因此ASP.NET将让脚本无限期运行.默认情况下,生产配置的ASP.NET执行超时介于90和110秒之间,具体取决于您运行的.NET版本.
| 归档时间: |
|
| 查看次数: |
1773 次 |
| 最近记录: |