手机
当前位置:查字典教程网 >编程开发 >C#教程 >mvc开启gzip压缩示例分享
mvc开启gzip压缩示例分享
摘要:复制代码代码如下:usingSystem.IO;usingSystem.IO.Compression;usingSystem.Web;usi...

复制代码 代码如下:

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");

}

}

}

}

【mvc开启gzip压缩示例分享】相关文章:

使用C#实现RTP数据包传输 参照RFC3550

c# 网址压缩简单实现短网址

C# zxing二维码写入的实例代码

C# 图片剪切与缩小的实例

c# 以二进制读取文本文件

ScriptControl控件执行自定义VBS脚本示例分析

C#图片压缩的实现方法

c# 值类型实例构造器

C# 骑士飞行棋的源码(分享)

C#中调用命令行cmd开启wifi热点的实例代码

精品推荐
分类导航