3

我们在 ASP.NET 旧版 Web 应用程序之前更新了一段时间以使用 .NET Framework 4.0。那里没有任何问题。上个 sprint,我们实施了新模块来重写 SEO 优化的 URL。但是,因为我们想要使用没有任何文件和扩展名的 URL(例如,而不是http://server/Some-Nice-URL/file.aspx只有http://server/Some-Nice-URL/),我们被迫将“runAllManagedModulesForAllRequests”设置为“true”,因为没有它,ASP.NET 会话将不可用。

我们现在遇到了静态压缩和 GZIP 的问题。经过几次回发后,我们“丢失”了 CSS 和/或 Javascript。如果我直接访问 CSS 或 Javascript 文件,有时会收到浏览器消息“内容编码错误”,有时文件是否正确传递。在 Fiddler 中,CSS 或 Javascript 文件的长度有时不正确,但在 HTTPCompression 中显示 GZIP 编码和“响应已编码,我需要在检查前进行解码”。单击“GZip 标头中的幻数不正确”后。如果我们将“runAllManagedModulesForAllRequests”或“doStaticCompression”设置为“false”,则静态压缩和“丢失”CSS 和/或 Javascript 文件没有任何问题。

任何想法?

4

1 回答 1

3

发生这种情况是因为在某些时候您在标头上设置了文件的内容长度,之后 gzip 尝试更改该长度但由于您没有设置 iis 以能够更改标头而失败,并且您发送 gzip文件大小错误,这会产生问题。

要解决此问题,请找到您设置此内容长度的点并将其删除,或者在设置后更改 iss 以接受标题更改。

看看这个类似的答案: https ://stackoverflow.com/a/3210574/159270

这: ASP.NET 站点有时会在加载时冻结和/或在页面顶部显示奇怪的文本,在负载平衡的服务器上

于 2012-02-07T21:25:01.823 回答