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); } }
时间: 2024-10-25 05:29:12