当我为我正在处理的相当大的应用程序加载url时,我会说每3-4次重新加载应用程序挂起并停止加载。 Chrome会在左下角报告“发送请求”。我似乎无法识别它停止的任何文件,而是找到了这个帖子:
https://code.google.com/p/chromium/issues/detail?id=55046
表示它可能是套接字问题。从这个页面刷新套接字(chrome:// net-internals / #sockets)会立即释放页面,一切都会正常加载。这是来自chrome内部页面的图像
我意识到这可能确实是一个chrome bug,但与此同时,我需要一个解决方法,因为用户在chrome中遇到了这个bug,并且无法加载应用程序。 想法?
答案 0 :(得分:4)
我知道2个解决方法,但没有一个是非常方便的:
"...\chrome.exe" --use-spdy=off
(遗憾的是无法通过标记完成)另一个选择是减少应用程序内的连接数(为1个域提供所有静态内容+ 1个所有客户端 - 服务器通信的websocket连接),并尽可能删除小部件(twitter,disqus等保持持久连接) ,这可能会或可能不会帮助考虑在所有Chrome标签之间共享套接字池:(
就个人而言,自Chrome 21以来,这个错误发生在随机网站上,并且在某种程度上可以通过重置游戏池的崩溃来解决:)
答案 1 :(得分:1)
在您关于图像重定向的建议以及使用 Fiddler2 之后,我看到我在图像中也有很多重定向。
就我而言,我在 ASP.NET MVC 中有一个重写规则,它会降低我们的URL。对于我们的项目文件夹也是如此,在这种情况下,包含图像的文件夹,例如URL/Images/OurLogo.png
成为url/images/ourlogo.png
。
更改我们的重写规则以在条件标记中包含以下行,解决了问题:
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
完整重写规则供参考:
<rule name="Convert to lower case" stopProcessing="true">
<match url=".*[A-Z].*" ignoreCase="false" />
<conditions>
<add input="{REQUEST_METHOD}" matchType="Pattern" pattern="GET" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" />
</rule>