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);
        }
}

 

相关文章:

  • 2022-12-23
  • 2022-01-19
  • 2021-09-03
  • 2022-12-23
  • 2021-08-24
  • 2021-07-04
  • 2022-01-11
猜你喜欢
  • 2022-12-23
  • 2022-02-10
  • 2021-10-10
  • 2022-12-23
  • 2021-11-09
  • 2021-08-02
  • 2022-12-23
相关资源
相似解决方案