首页 新闻 赞助 找找看

C# mvc3.0 使用GZIP压缩 黄页乱码

0
悬赏园豆:80 [待解决问题]

GZIP压缩的代码,是网上常见的:

 public class CompressFilterAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string acceptEncoding = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
            if (String.IsNullOrEmpty(acceptEncoding)) return;
            var response = filterContext.HttpContext.Response;
            acceptEncoding = acceptEncoding.ToUpperInvariant();

            if (acceptEncoding.Contains("GZIP"))
            {
                response.AppendHeader("Content-Encoding","gzip");
                response.Filter = new GZipStream(response.Filter,CompressionMode.Compress);
            }
            else if (acceptEncoding.Contains("DEFLATE"))
            {
                response.AppendHeader("Content-Encoding","deflate");
                response.Filter = new DeflateStream(response.Filter,CompressionMode.Compress);
            }
        }
    }

页面报黄页的时候就会乱码,不报错则正常显示,且为GZIP压缩

 

请问这是为什么呢? 大家就没碰到过这个问题吗?

问题补充:

还有,mvc3的网站,要实现GZIP只能使用这个方式实现吗?

因为之前对iis进行了GZIP配置,不管用的。我的iis是6.0的

不怕死的主页 不怕死 | 初学一级 | 园豆:122
提问于:2012-12-11 11:58
< >
分享
所有回答(5)
0

你可以使用 Fiddler 检查下页面的 HEADER,看看正确和错误的有什么不同。

IIS配置的话,需要设置对动态类型压缩。

Launcher | 园豆:45045 (高人七级) | 2012-12-11 13:14

上面的是乱码时的header,下面是正常的:

支持(0) 反对(0) 不怕死 | 园豆:122 (初学一级) | 2012-12-11 14:12
0

你遇到的问题我全部遇到了,好巧

达奇 | 园豆:202 (菜鸟二级) | 2013-03-04 20:08

我也是耶,我也遇到了,好巧,好有缘份啊~~~

支持(0) 反对(0) think_fish | 园豆:140 (初学一级) | 2013-03-04 23:05
0

这个有没有解决呢?     

虔城墨客 | 园豆:185 (初学一级) | 2013-03-20 15:05
0

我去,搞了半天还没有解决呀。 我也碰到了。谁解决了。共享一下呀。

康少 | 园豆:197 (初学一级) | 2013-08-19 16:58
0

我上次有这种情况,直接把IIS 里面的GZIP 关闭掉就不会了,两个好像有冲突

最後帝驕傲 | 园豆:202 (菜鸟二级) | 2016-01-19 17:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册