MVC 好记星不如烂笔头之 ---> 页面压缩GIP

 public class BaseController : Controller
{
 /// <summary>
        /// Called before the action method is invoked.
        /// </summary>
        /// <param name="filterContext">Information about the current request and action.</param>
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            foreach (var iBaseService in _iBaseServiceList)
            {
                iBaseService.Language = Language;
            }

            if (filterContext.HttpContext.Response.Filter == null) return;
            var 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);
            }

            base.OnActionExecuting(filterContext);
        }
}

 

posted @ 2014-11-28 11:48  真有意思  阅读(306)  评论(0编辑  收藏  举报