Подтвердить что ты не робот

Ошибка вывода страницы с использованием Gzip в ASP.NET/IIS7

Я реализовал метод Rick Strahl GZipEncodePage на моем сайте, и он отлично работает для самого сайта. Однако, когда мой код выдает исключение, страница "Ошибка сервера" выглядит примерно так:

garble garble
(источник: x01.co.uk)

Я пытался подключиться к Application_Error пытаясь удалить заголовки GZip, но безрезультатно. Как я могу отменить GZipping при ошибке?

4b9b3361

Ответ 1

Я понимаю, что этот вопрос действительно устарел.

В приложении Application_Error удалите фильтры из Response, например

 protected void Application_Error(Object sender, EventArgs e)
 {
    HttpApplication app = sender as HttpApplication;
    app.Response.Filter = null;
 }

Надеюсь, это поможет любому.

Ответ 2

В моем случае я помещал это в свой базовый класс следующим образом:

public class BasePage : System.Web.UI.Page
{
    protected override void OnError(EventArgs e)
    {
        base.OnError(e);
        System.Web.HttpContext context = System.Web.HttpContext.Current;
        if (context != null && context.Response.Filter != null) 
            context.Response.Filter = null;
    }
}