【问题标题】:Windows phone timing out http requests after 1 minuteWindows 手机在 1 分钟后超时 http 请求
【发布时间】:2016-01-12 00:41:26
【问题描述】:

如果我在 Windows 手机上从 Internet Explorer 发出 http 请求,需要大约一分钟或更长时间才能响应请求失败。我写了一个简单的快速应用程序,它只休眠 80 秒,然后以 200 响应,我无法从任何 Windows Phone 设备加载它。不过,它可以从桌面上的 IE9 正常加载。

有没有人知道任何可以解释这一点的官方文档?在 Windows 手机上处理非常慢的 API 是否有任何变通方法?

【问题讨论】:

    标签: http internet-explorer windows-phone timeout keep-alive


    【解决方案1】:

    确实有official documentation explaining this

    默认情况下,Internet Explorer 的 KeepAliveTimeout 值为 1 分钟和两个额外的限制因素 (ServerInfoTimeout) 分钟。任一设置都可能导致 Internet Explorer 重置 插座。

    如果客户端浏览器 (Internet Explorer) 或 Web 服务器具有 较低的 KeepAlive 值,它是限制因素。例如,如果 客户端有两分钟的超时时间,Web 服务器有一个 一分钟超时,最大超时为一分钟。无论是 客户端或服务器可能是限制因素。

    要解决请求超时/处理慢速 API 的问题,您需要服务器定期返回一些内容,让浏览器知道服务器仍然活着/没有死,并且应该实际接收到一些内容。如何做到这一点是一个完全不同的问题,实际上是逐案(或类别)。

    一些相关资源我推荐你去看看:

    【讨论】:

    • 感谢您的信息。该文章声称 IE 5-11 将在 1 分钟后全部超时,但我已经在多台台式计算机上的 IE 9 和 11 上对此进行了测试,但我从未见过超时。我只在 Windows Phone 上看到请求超时。知道这是为什么吗?
    • @rob 所有这些设置都可以作为系统变量覆盖。它还可以取决于这些默认值的操作系统。所以我猜这 1 分钟来自 IE,而任何超过它的都是操作系统定制(只是一个疯狂的猜测)。看看support.microsoft.com/en-us/kb/813827
    • 无论如何,如果您确实有一个 API,您希望将 1 分钟用作您的设计的约束(最多)。
    • @rob 还注意到 windows phone 实际上没有 IE ,而是基于桌面版 Internet Explorer 的 Internet Explorer Mobile。 (en.wikipedia.org/wiki/Internet_Explorer_Mobile).
    • 我在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings 下检查了我的注册表,但没有可以覆盖默认值的“KeepAliveTimeout”键。奇怪的是,MS 文章没有提到它适用于 Internet Explorer Mobile,但这似乎是它适用的唯一环境
    猜你喜欢
    • 2014-09-02
    • 2021-07-09
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多