Почему бы ASP.NET не вводить Application_Error в Global.asax.cs при создании исключения HttpRequestValidationException? - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь предотвратить появление этой необработанной ошибки на экране, когда пользователь вводит, например, заостренные скобки в поле ввода:

[System.Web.HttpRequestValidationException] Потенциально опасный Request.Formиз клиента было обнаружено значение (Сообщение = "

Я узнал в сообщениях, подобных этой , что я должен быть в состоянии отловить и обработать эту ошибку в методе void Application_Error(object sender, EventArgs e) вФайл Global.asax.cs, например, у меня есть этот код:

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();

    if (ex is HttpRequestValidationException)
    {
        Response.Clear();
        Response.StatusCode = 200;
        Response.Write(@"<html><body>HTML is not allowed.</body></html>");
        Response.End();
    }
}

Но независимо от того, какой код у меня есть в методе void Application_Error(object sender, EventArgs e), выполнение кода не вводит его, а просто выводит исходную ошибку, как и раньше.

Что может помешать выполнению кода войти в метод void Application_Error(object sender, EventArgs e)?

Примечание. У меня нет пользовательских ошибок, установленных на RemoteOnly в моем Web.configкак представляется, проблема в Не вызывается ли событие global.asax Application_Error, если включены пользовательские ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...