MVC项目适配器开发实现缓存与压缩的重要机制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MVC项目适配器开发实现缓存与压缩的重要机制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1926字,纯文字阅读大概需要3分钟。
内容图文
1、实现缓存保存在本地机制 缓存在开发高扩充性WEB程序的时候扮演着很重要的角色.我们可以将HTTP请求在一个定义的时间内缓存在用户的浏览器中,如果用户在定义的时间内请求同 一个URL,那么用户的请求将会从用户浏览器的缓存中加载,而不是从服务器.你可以在ASP.NET MVC应用程序中使用下面的Action Filter来实现同样的事情:
1 using System; using System.Web; 2using System.Web.Mvc; 3publicclass CacheFilterAttribute : ActionFilterAttribute { 4////// Gets or sets the cache duration in seconds. The default is 10 seconds. 5////// The cache duration in seconds. 6publicint Duration { get; set; } 7 public CacheFilterAttribute() { Duration = 10; } 8 publicoverridevoid OnActionExecuted(FilterExecutedContext filterContext) { 9 if (Duration <= 0) 10return; 11 HttpCachePolicyBase cache = filterContext.HttpContext.Response.Cache;
TimeSpan cacheDuration = TimeSpan.FromSeconds(Duration);
cache.SetCacheability(HttpCacheability.Public);
cache.SetExpires(DateTime.Now.Add(cacheDuration));
cache.SetMaxAge(cacheDuration); 12 cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
}
}
2、另外一个很重要的事情就是压缩.现在的浏览器都可以接收压缩后的内容,这可以节省大量的带宽.你可以在你的ASP.NET MVC 程序中应用下面的Action Filter 来压缩你的Response :
using System.Web; using System.Web.Mvc; public class CompressFilter : ActionFilterAttribute { public override void OnActionExecuting(FilterExecutingContext filterContext) { HttpRequestBase request = filterContext.HttpContext.Request; string acceptEncoding = request.Headers["Accept-Encoding"]; if (string.IsNullOrEmpty(acceptEncoding)) return; acceptEncoding = acceptEncoding.ToUpperInvariant(); HttpResponseBase response = filterContext.HttpContext.Response; if (acceptEncoding.Contains("GZIP")) { response.AppendHeader("Content-encoding", "gzip"); response.Filter = new GZipStream(response.Filter, CompressionMode.Compress); } elseif (acceptEncoding.Contains("DEFLATE")) { response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress); } } }
原文:http://www.cnblogs.com/weilai1917/p/4008757.html
内容总结
以上是互联网集市为您收集整理的MVC项目适配器开发实现缓存与压缩的重要机制全部内容,希望文章能够帮你解决MVC项目适配器开发实现缓存与压缩的重要机制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。