MVC 4 - GZIP compression of JSON ajax action result [duplicate]
Okay, so it would seem I need to do something in my controller also:
As per the below extracted from: how to gzip content in asp.net MVC?
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); } }
usage in controller:
[Compress]public class BookingController : BaseController{...}