我正在尝试将MVC 2 Web应用程序安装到我们的生产服务器。这个应用程序已经在多个测试服务器上运行和测试,但是在生产中,一些静态内容(最著名的是JavaScript文件)加载非常非常缓慢(有时超过60秒)。然而,有趣的是,并非所有静态内容都如此-在典型的页面加载周期中,除其中一个JS文件外,所有其他JS文件都将成功传输到客户端,但是其中一个将“粘住”,有时永远不会下载。

同样奇怪的是,如果我直接进入静态内容,它将立即加载。

我研究了处理程序映射,并将IIS配置与我们的测试环境进行了比较,并且一切都很相似。是什么原因造成的?

最佳答案

尝试在Web配置文件中将此设置为静态内容,它将压缩文件并导致页面快速呈现

 <system.webServer>

<httpProtocol allowKeepAlive="true"/>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
  <dynamicTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>

<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />

10-08 10:53