当前位置:  编程技术>.net/c#/asp.net

mvc开启gzip压缩示例分享

    来源: 互联网  发布时间:2014-10-29

    本文导语:  代码如下:using System.IO;using System.IO.Compression;using System.Web;using System.Web.Mvc;public class CompressAttribute : ActionFilterAttribute{public override void OnResultExecuted(ResultExecutedContext filterContext){//如果出现错误,则不进行压缩,否则页面会出现乱码...

代码如下:

using System.IO;
using System.IO.Compression;
using System.Web;
using System.Web.Mvc;
public class CompressAttribute : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
//如果出现错误,则不进行压缩,否则页面会出现乱码,而不是报错的黄页
if (filterContext.Exception != null)
return;
HttpResponseBase Response = filterContext.HttpContext.Response as HttpResponseBase;
//判断IIS或者其他承载设备是是否启用了GZip或DeflateStream
if (Response.Filter is GZipStream || Response.Filter is DeflateStream)
return;
//开始进入压缩环节
string AcceptEncoding = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
if (!string.IsNullOrEmpty(AcceptEncoding) && (AcceptEncoding.Contains("gzip") || AcceptEncoding.Contains("deflate")))
{
if (AcceptEncoding.Contains("gzip"))
{
Response.Filter = new GZipStream(Response.Filter, CompressionMode.Compress);
Response.Headers.Remove("Content-Encoding");
Response.AppendHeader("Content-Encoding", "gzip");
}
else
{
Response.Filter = new DeflateStream(Response.Filter, CompressionMode.Compress);
Response.Headers.Remove("Content-Encoding");
Response.AppendHeader("Content-Encoding", "deflate");
}
}
}
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)
  • MVC核心框架 MVC_CORE 0.0.2
  • MVC 5 第一章 创建MVC 5 web应用程序
  • MVC框架 JavaScriptMVC
  • Java的MVC框架 Maverick
  • MVC框架 dingframework
  • MVC 5 第二章 MVC5应用程序项目结构
  • Mac's MVC 框架
  • 哪里有MVC方面的资料??最好是中文的.谢谢.
  • 简易MVC框架 Lanp
  • 后台快速开发框架 struts2-mvc-template
  • PHP的MVC框架 ApPHP
  • ash.MVC
  • PHP5的MVC框架 TMPHP
  • PHP5的MVC框架 Agavi
  • Mac's PHP MVC Framework
  • php.MVC
  • Node.js 的MVC框架 Locomotive JS
  • Node.js 的MVC框架 total.js
  • Javascript mvc框架 jsmvc


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3