Я пытаюсь предотвратить появление этой необработанной ошибки на экране, когда пользователь вводит, например, заостренные скобки в поле ввода:
[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, если включены пользовательские ошибки?