我试图防止当用户输入例如输入字段中的尖括号:
[System.Web.HttpRequestValidationException]一个潜在的危险 从客户端检测到Request.Form值(消息=“
我在posts like this one中了解到,我应该能够在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)
方法?
注意:我的Web.config
中没有将自定义错误设置为RemoteOnly,这似乎是Is global.asax Application_Error event not fired if custom errors are turned on?