Как перехватить HttpRequestValidationException в производственной среде

У меня есть этот фрагмент кода для обработки исключения HttpRequestValidationException в моем файле global.asax.cs.

protected void Application_Error(object sender, EventArgs e)
{
    var context = HttpContext.Current;
    var exception = context.Server.GetLastError();
    if (exception is HttpRequestValidationException)
    {
        Response.Clear();
        Response.StatusCode = 200;
        Response.Write(@"<html><head></head><body>hello</body></html>");
        Response.End();
        return;
    }
}

Если я отлаживаю свое веб-приложение, оно работает отлично. Но когда я помещаю его на наш производственный сервер, сервер игнорирует его и генерирует страницу ошибки « потенциально опасное значение request.form было обнаружено от клиента ». Я не знаю, что именно происходит ... Если кто-нибудь знает, в чем проблема, или что я делаю не так? ..

Также я не хочу устанавливать для validaterequest значение false в web.config.

Сервер использует IIS7.5, а я ' m с помощью asp.net 3.5.

Спасибо, Бруно

21
задан bruno 17 February 2011 в 11:16
поделиться