我一直在使用Yahoo的YSLOW试图让我的网页在AgentX
更快地运行我正在使用以下压缩过滤器。当我通过visual studio运行该站点时,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 :(得分:2)
我在我的网站上使用相同的机制:
我建议使用fiddler查看您的实时网站的响应是否实际压缩,然后您可以确定YSlow或您的代码是否存在问题。
我建议您同时运行google pagespeed http://code.google.com/speed/page-speed/。这与YSlow的工作相同,但谷歌制作。某些事情的算法不同。
DaTribe
答案 1 :(得分:1)
您是否在IIS 6上运行Production?也许这可以提供帮助。 ASP.NET MVC compression options in IIS6