我们在一系列Windows 7机器(通过本地主机访问)上托pipe了一个Web应用程序,这个机器有IIS 7.5,而且有些用户偶尔在请求中间卡住。 在检查IIS请求日志之后,在特定的Javascript文件上花费了230,000毫秒,大约四分钟。 看来我们的服务器端处理工作正常,而且很快,但是一旦尝试引入Javascript文件,浏览器就会挂起。 它不会每次请求这个文件,只是偶尔。 这些有问题的请求仍然会在日志中产生200的HTTP状态代码,但Win32错误代码为1236(本地系统中止networking连接)。
四分钟后,似乎浏览器不再尝试对外部资源(CSS文件,图像等)进行更多的请求,只是呈现到目前为止。 所以用户得到一个普通的白页,包含Times New Roman中的所有数据,没有格式,也没有Javascript来规定行为。 他们被卡住了。
这个问题似乎只发生在这个特定的Javascript文件的请求,这大概是280KB。 另一个值得注意的事情是,当我从浏览器的地址栏对这个文件进行手动的GET请求时,它会提示我下载它,但是当我去保存它的时候,它会附加6个随机的数字/字母作为文件名。我发现是完全陌生的。 所以我禁用静态压缩和经典的ASP缓冲废话,但我们仍然遇到这个问题。 我没有find任何ISAPIfilter或任何其他的选项,可能会做这个文件名集中。
任何想法如何解决这个恼人的问题? 同样的应用程序在我们大多数其他机器上工作得很好,对于这个特殊的IISconfiguration,这个问题必然是唯一的。