2009-06-03 45 views
5

我一直在使用雅虎的YSlow的,试图让我的网页更快的AgentX压缩过滤器+

我使用下面的压缩过滤MVC +雅虎YSlow的。当我通过视觉工作室运行网站时,YSLOW说所有的文件都被压缩,当我查看实时网站时,我得到一个A,它得到一个E,并说我的文件需要被压缩。谁能解释一下?

public class CompressFilter : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     HttpRequestBase request = filterContext.HttpContext.Request; 

     string acceptEncoding = request.Headers["Accept-Encoding"]; 

     if (string.IsNullOrEmpty(acceptEncoding)) return; 

     acceptEncoding = acceptEncoding.ToUpperInvariant(); 

     HttpResponseBase response = filterContext.HttpContext.Response; 

     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); 
     } 
    } 
} 
+0

您可以使用Firebug或Fiddler并将请求和响应数据发布到您的实时网页吗? – 2009-06-03 02:55:18

回答

2

我用同样的机制在我的网站:

http://www.avantprime.com/articles/view-article/7/compress-httpresponse-for-your-controller-actions-using-attributes

我建议使用招,看是否从活动现场的反应实际上是压缩,然后就可以判断,如果有什么了YSlow或与您的代码。

我建议你运行谷歌pagespeed也http://code.google.com/speed/page-speed/。这和YSlow做的是一样的工作,但是是由google做的。针对某些事物的不同算法。

DaTribe

相关问题