আপনি যদি কোডটি না করে বরং এটি করতে পারেন। আমি একটি বেসকন্ট্রোলার তৈরি করব যা প্রতিটি নিয়ন্ত্রণ উত্তরাধিকার সূত্রে প্রাপ্ত হয় এবং নীচে এই বৈশিষ্ট্যটি দিয়ে এটি সাজাই।
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);
}
}
}