Когда я использую фильтр сжатия и получаю сообщение об ошибке, страница с ошибкой - это просто тарабарские символы. Проблема заключается в том, что при переходе IIS на страницу с ошибкой фильтр сжатия по-прежнему действует, но заголовки очищаются. Без заголовка "Content-encoding: gzip" браузер просто отображает необработанные двоичные данные gzipped.
Я использую IIS7.5, ASP.NET MVC 2 Preview 2 и ActionFilter, который выглядит следующим образом:
public class CompressResponseAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var request = filterContext.HttpContext.Request;
        var response = filterContext.HttpContext.Response;
        var acceptEncoding = request.Headers["Accept-Encoding"];
        if (string.IsNullOrEmpty(acceptEncoding))
            return;
        acceptEncoding = acceptEncoding.ToLowerInvariant();
        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);
        }
    }
}
Кто-нибудь еще испытал это?