【发布时间】:2009-06-03 02:53:03
【问题描述】:
我一直在使用雅虎的 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);
}
}
}
【问题讨论】:
-
您可以使用 Firebug 或 Fiddler 并将请求和响应数据发布到您的实时网页吗?
-
好的,这实际上在家里可以正常工作,但不能正常工作。在工作中,我们通过网络 marshall 代理,所以也许这就是原因。无论如何,我很高兴结束这个问题。感谢收看。
标签: asp.net asp.net-mvc gzip