csharp ASP.net MVC3的程序化GZip动作过滤器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp ASP.net MVC3的程序化GZip动作过滤器相关的知识,希望对你有一定的参考价值。
public class GZipCompressionGlobalActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
string acceptEncoding = filterContext.HttpContext.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);
}
}
}
以上是关于csharp ASP.net MVC3的程序化GZip动作过滤器的主要内容,如果未能解决你的问题,请参考以下文章
如何加载在 asp.net mvc3 上开发的测试 Web 应用程序?
将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?
具有最佳实践的示例 N 层 ASP.NET MVC3 应用程序(使用 EF 4.1)
IIS 上的 ASP.NET MVC3 和 Windows Auth 不断重定向到 /Account/Login
ASP.NET MVC3 和实体框架代码优先架构
在 ASP.NET MVC3 中正确使用 TempData?