mvc开启gzip压缩示例分享

 更新时间:2014年03月12日 11:11:24   作者:  
这篇文章主要介绍了mvc开启gzip压缩示例,需要的朋友可以参考下
复制代码 代码如下:

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

相关文章

  • Unity UGUI的MaskableGraphic可遮罩图形组件介绍使用

    Unity UGUI的MaskableGraphic可遮罩图形组件介绍使用

    这篇文章主要为大家介绍了Unity UGUI的MaskableGraphic可遮罩图形组件介绍使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • winform多线程组件BackgroundWorker使用

    winform多线程组件BackgroundWorker使用

    这篇文章介绍了winform多线程组件BackgroundWorker的使用方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#连接操作 MySQL 数据库实例(使用官方驱动)

    C#连接操作 MySQL 数据库实例(使用官方驱动)

    这篇文章主要介绍了C#连接操作 MySQL 数据库实例(使用官方驱动),本文讲解了C#中的Mysql连接方法和SQL操作方法,需要的朋友可以参考下
    2015-02-02
  • C# Struct的内存布局问题解答

    C# Struct的内存布局问题解答

    这篇文章介绍了C# Struct的内存布局问题解答,有需要的朋友可以参考一下
    2013-11-11
  • C#实现一个Word保护性模板文件

    C#实现一个Word保护性模板文件

    这篇文章主要为大家详细介绍了C#如何实现一个Word保护性模板文件,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下
    2024-01-01
  • c# 操作word写入特殊字符的实例

    c# 操作word写入特殊字符的实例

    这篇文章主要介绍了c# 操作word写入特殊字符的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 如何使用C#操作幻灯片

    如何使用C#操作幻灯片

    一般大家经常会用PPT遥控翻页笔来遥控幻灯片,本文确为大家介绍了使用C#制作一个遥控幻灯片,感兴趣的朋友可以参考下
    2015-07-07
  • C#实现日期格式转换的公共方法类实例

    C#实现日期格式转换的公共方法类实例

    这篇文章主要介绍了C#实现日期格式转换的公共方法类,结合完整实例形式分析了C#针对各种常见日期格式的转换方法,涉及C#字符串、日期、时间相关操作技巧,需要的朋友可以参考下
    2017-01-01
  • Unity解析gif动态图操作

    Unity解析gif动态图操作

    这篇文章主要介绍了Unity解析gif动态图操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#将DataTable转换成list的方法

    C#将DataTable转换成list的方法

    这篇文章主要介绍了C#将DataTable转换成list的方法,实例分析了DataTable转换成list及数据分页的技巧,需要的朋友可以参考下
    2015-01-01

最新评论