现在我已经坚持使用IIS6 for ASP.NET-MVC(因为我无法升级到Server 2008).它似乎不知道我的RESTful URL是动态文件,并没有压缩它们.
我所有旧的.aspx文件都是压缩的(如Fiddler所示),但不是'/products/1001'
URLS 的类型.
有没有办法让IIS6在IIS6中压缩我的ActionResults而不使用像ActionFilter这样的压缩.
我假设IIS7足够聪明,知道它们是动态的.
如果你能告诉我IIS6如何知道哪些文件是动态的,那么奖励积分!
由于ASP.NET的HTTP压缩通常是从版本1.0开始使用HttpModules实现的,并且HttpModules仍然属于MVC框架使用的ASP.NET请求管道,因此您仍然可以使用HttpModule注入GZIP或deflate响应过滤器.
在这里你可以找到一个非常好的,开源的,随时可以发布的实现: Ben Lowery的HttpCompress(在谷歌代码下载)
您只需添加对DLL的引用,并在web.config中添加几行.它已经处理了非常奇特和罕见的案例和例外.您可以在web.config中添加排除项,而不是基于文件扩展名(如在IIS6中),但在mime类型上,这可能正是您所需要的.
我应该补充一点,我实际上在IIS6上使用这个库运行ASP.NET MVC网站,所以我可以确认这在实践中有效.