Я не получаю удар по ExceptionHandling, когда у меня есть CompressFilter в действии, и они являются ошибкой.Ответ на запрос не возвращается.Если я удаляю фильтр Compress, он просто возвращает массив ошибок.Как можно пропустить фильтр сжатия при ошибке или за секунду?
Действие контроллера
[HttpPost, CompressAttribute]
public virtual ActionResult Builder()
Global.asax
GlobalConfiguration.Configuration.Filters.Add(new ExceptionHandlingAttribute());
CompressFilter
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class CompressAttribue : 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("gzip"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
else if (encodingsAccepted.Contains("deflate"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
}
}