asp.net-mvc – 如何gzip内容在asp.net MVC?
发布时间:2020-05-23 04:23:38 所属栏目:asp.Net 来源:互联网
导读:如何压缩输出由asp.net mvc应用程序发送? 这里是我使用(作为这个monent时间): using System.IO.Compression;public class CompressAttribute : ActionFilterAttribute{ public override void OnActionExecuting(ActionExecutingContex
|
如何压缩输出由asp.net mvc应用程序发送? 解决方法这里是我使用(作为这个monent时间):using System.IO.Compression;
public class CompressAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var encodingsAccepted = filterContext.HttpContext.Request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(encodingsAccepted)) return;
encodingsAccepted = encodingsAccepted.ToLowerInvariant();
var response = filterContext.HttpContext.Response;
if (encodingsAccepted.Contains("deflate"))
{
response.AppendHeader("Content-encoding","deflate");
response.Filter = new DeflateStream(response.Filter,CompressionMode.Compress);
}
else if (encodingsAccepted.Contains("gzip"))
{
response.AppendHeader("Content-encoding","gzip");
response.Filter = new GZipStream(response.Filter,CompressionMode.Compress);
}
}
}
在控制器中的使用: [Compress]
public class BookingController : BaseController
{...}
还有其他varients,但这工作相当不错。 (btw,我使用我的BaseController上的[Compress]属性来保存项目中的重复,而上面是在控制器基于控制器。 [编辑]。为了简化使用,您还可以在BaseController本身中包括[Compress] oneshot,从而,每个继承的子控制器默认访问该功能: [Compress]
public class BaseController : Controller
{...} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 为什么应该使用HTTP POST或DELETE而不是GET
- asp.net-web-api – WebApi:如何将状态从过滤器传递给控制
- asp.net-mvc – 不一致的可访问性:DbContext中的属性类型
- ASP.NET错误处理
- asp.net-mvc – 为Cascade子列表构建一个空的MVC DropdownL
- asp.net – 安装更新KB3154070后,iframe不会在IE中加载
- asp.net-mvc – 什么原因导致asp.net无法创建/影子复制错误
- asp-classic – 超过响应缓冲区限制
- asp.net中mvc使用ajax提交参数的匹配问题解决探讨
- asp.net-mvc – 更改数据注释中的验证消息
推荐文章
站长推荐
- asp.net-mvc – .NET MVC / Entity Framework应用
- asp.net-mvc-2 – ASP.NET MVC2 ModelMetadataPr
- asp.net – 403禁止错误
- 如何从ASP.NET MVC视图显示存储在数据库中的HTML
- asp.net-mvc – 在ASP.NET MVC中的View和Partial
- 实体框架 – EF 7中的db.database.ExecuteSQLCom
- asp.net-mvc – 在ASP.NET MVC中的NHibernate会话
- asp.net – IIS HTTP错误403.1 – 禁止访问:拒绝
- asp.net – .NET Developer的Vagrant文件(具有Wi
- ASP.NET MVC,ActionFilters,静态类和传递数据
热点阅读
