不间歇地加载脚本文件(javascript,scriptresource,css和任何其他包含的脚本文件)

时间:2011-05-09 06:30:56

标签: asp.net

我在我的应用程序上遇到了这种非常奇怪的情况,并不是我<head>中包含的大部分脚本都没有加载,但有时它们是。如果我将刷新页面(f5或刷新按钮),有时它会加载有时它不会。但是,如果我直接将URL输入地址栏,页面将按预期加载。这不仅发生在一个页面中,而且发生在大多数页面中,但间歇性地发生。我的应用程序部署在我的本地IIS版本5.1(我正在使用XP SP3)。如果我重建我的解决方案或重新启动IIS以刷新我的IIS缓存或重新启动我的应用程序,则大多数情况会发生这种情况。我的猜测是我的IIS没有足够的内存来处理所有请求,因为它忘记加载所有包含的脚本。任何人都可以阐明我应该在哪里解决这类问题吗?起初它只发生在我的机器上,但最近我注意到它也发生在我们的开发服务器上,我不想让它去我们的测试服务器或更糟糕的生产服务器。

编辑:

以下是我如何确定未加载的脚本。

  1. 我没有对任何脚本进行任何更改,css在客户端直接看到了什么。我只更改了逻辑背后的一些代码,这些代码不会改变客户端用户在UI上可以看到的内容。当我构建它并使用本地IIS直接在浏览器上测试时,我的显示已损坏,一些脚本将无法运行,并显示一些页面方法错误。
  2. 如果我刷新页面一次或多次,页面将正常移位。一旦我注意到这一点,我就知​​道这是一个缓存问题。
  3. 我使用过Firefox并看过同样的东西,所以我查看了源代码。起初我没有注意到任何可疑的东西,一切看起来都很正常,直到我点击页面,css和脚本上的每个包含。其中一些不会被读取,而是返回包含The page cannot be displayed, There are too many people accessing the Web site at this time.
  4. 的html

1 个答案:

答案 0 :(得分:0)

一旦我注意到一些包含脚本和css的返回它们返回The page cannot be displayed, There are too many people accessing the Web site at this time.这是403错误或禁止访问,我想知道为什么禁止访问,所以我自己做了一些研究并发现XP系统上的IIS 5.1只允许最多10个并发保持连接,所以如果页面尚未缓存或页面的一部分,它会向IIS请求并且有时候第一个请求不是完成并且正在进行另一个请求,该请求最多会发出10个并发请求,IIS将向最后一个请求返回403错误,直到第一个请求完成并打开另一个连接。

对于XP系统中的IIS5.1,除了接受它只接受10个并发请求这一事实我无能为力,但对于IIS6 +,我发现这个article可以处理多达3,000个并发根据机器的硬件资源以及对设置的一些调整,可以轻松实现连接,并且可以更加无限制地进行连接。