繁体   English   中英

使用ASP.NET 4.0和IIS7进行HTTP压缩

[英]HTTP Compression with ASP.NET 4.0 and IIS7

我一直试图在我的一些网站上实现HTTP压缩一段时间。

我尝试使用以下两种技术的变体实现HTTP压缩:

来自Global.asax中的Application_BeginRequest

来自自定义的HttpModule

在这两种情况下,它最初似乎都有效。 但是,当我在网站上浏览时,我很快就失去了我的CSS样式。 并且浏览器报告JS文件包含无效字符。 而且,在某些时候,整个网站完全变成了胡言乱语。

我当然希望我知道这里发生了什么。 有没有人有任何建议? 是因为这些技术仅适用于旧版本的ASP.NET / IIS吗?

编辑:我没有IIS的访问权限,不应该要求它。 随着ASP.NET和IIS的最新迭代,越来越多的控制权被赋予web.config而不涉及IIS。 这应该完全支持,而不是深入研究IIS,事实上,上面的两个链接声称他们能够做到这一点。 我无法让它为我工作。

编辑:进一步检查,使用上面第二个链接(HTTP模块)中的代码,我可以看到我的网站上的所有文件类型都在调用模块处理程序。 这显然是问题的一部分。 (请注意,在某些情况下,整个页面变为垃圾,这表明存在其他问题。)任何人都可以建议确定将哪些文件发送到HTTP处理程序的内容,或者为什么该链接上的代码可能对其他人有效而不是我?

IIS 7本身支持压缩 - 不应该进行任何编码。 除非您尝试在未启用它的托管服务提供商上实现它,但在您的问题中并未明确说明

虽然我可能在这里遇到了一些问题,但演练:创建和注册自定义HTTP模块的以下引用似乎说明了这个问题:

如果ASP.NET应用程序在IIS 6.0下运行,则可以使用HTTP模块自定义对ASP.NET提供服务的资源的请求。 这包括ASP.NET网页(.aspx文件),Web服务(.asmx文件),ASP.NET处理程序(.ashx文件)以及已映射到ASP.NET的任何文件类型。 如果ASP.NET应用程序在IIS 7.0下运行,则可以使用HTTP模块自定义对IIS提供的任何资源的请求。 这不仅包括ASP.NET资源,还包括HTML文件(.htm或.html文件),图形文件等。

正如我开始怀疑的那样,这是ASP.NET 4.0和IIS7的变化。 正如我多次提到的,这些正在变得越来越集成。 上面的引用表明HTTP模块现在处理IIS提供的所有文件类型。

这就是为什么旧代码对我不起作用的原因。 修复似乎只是从我的处理程序中检查文件类型类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM