ASP.NET MVC 简单实现GZIP
一般页面不会太大的,通常都不需要用到GZIP,但是某些情况下还是需要GZIP来压缩的,现在呢,介绍一种在ASP.NET MVC下的GZIP压缩方法...
写一个ActionFilter来实现GZIP:
CompressFilterAttribute.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.IO;
using System.IO.Compression;
namespace MyMVC.ActionFilters
{
public class CompressFilterAttribute:ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
string acceptEncoding = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
if (String.IsNullOrEmpty(acceptEncoding)) return;
var response = filterContext.HttpContext.Response;
acceptEncoding = acceptEncoding.ToUpperInvariant();
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);
}
}
}
}
在controller文件中
[CompressFilter]
public ActionResult Compress()
{
return this.View();
}
实例:(截图)
压缩前
实在是方便!!!
转载于:https://www.cnblogs.com/XYZPark/p/5010116.html
- 点赞
- 收藏
- 分享
- 文章举报
- ASP.NET MVC 4 插件化架构简单实现-实例篇
- ASP.NET MVC 中使用Spring.NET实现简单的属性注入
- ASP.NET MVC图片上传前预览简单实现
- ASP.NET MVC 中使用Spring.NET实现简单的属性注入
- ASP.NET MVC中权限控制的简单实现
- ASP.NET MVC 简单的分页思想与实现
- ASP.NET MVC 4 插件化架构简单实现-思路篇
- asp.net mvc 简单分页实现
- 简单C#、asp.net mvc验证码的实现
- 简单实现asp.net页面压缩(gzip,deflate)
- asp.net mvc 实现简单的实时消息推送
- ASP.NET MVC登录实现Cookie加密以及过滤器简单使用
- jQuery + ASP.NET MVC Ajax的简单实现
- ASP.NET MVC 4 插件化架构简单实现-思路篇
- ASP.NET MVC 简单的分页思想与实现
- ASP.NET MVC 4 插件化架构简单实现-思路篇
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- ASP.NET MVC 4 插件化架构简单实现-实例篇
- 在Asp.Net MVC中实现计算页面执行时间及简单流量统计
- Asp.net MVC 用户在线简单实现及单点登陆扩展(一)