bev*_*qua 4 c# asp.net-mvc gzip asp.net-mvc-3
我使用以下属性来装饰我的BaseController类.
public class OutputCompressAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
string encodingsAccepted = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(encodingsAccepted))
return;
encodingsAccepted = encodingsAccepted.ToLowerInvariant();
HttpResponseBase response = filterContext.HttpContext.Response;
if (encodingsAccepted.Contains("gzip"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
else if (encodingsAccepted.Contains("deflate"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,即使这对视图和每个操作结果都很好,该属性也不适用于/Content项目文件夹中的内容.我想知道我是如何做到这一点,以便文件Content夹中的文件使用控制器,或以某种方式绑定或钩住允许我将这些过滤器附加到响应头的东西.
| 归档时间: |
|
| 查看次数: |
3716 次 |
| 最近记录: |