我有这段代码来处理global.asax.cs文件中的HttpRequestValidationException。
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;
}
}
如果我调试我的works应用程序,它工作得很完美。但是当我把它放到我们的生产服务器上时,服务器会忽略它,并生成“从客户端检测到一个潜在危险的错误值”-错误页面。我不知道到底发生了什么.如果有人知道问题出在哪里,或者我做错了什么?
另外,我不想在web.config中将validaterequest设置为false。
服务器使用的是IIS7.5,我使用的是asp.net 3.5。
谢谢,布鲁诺
发布于 2011-02-17 23:22:47
好吧,我自己找到了。我必须清除我的最后一个错误。
protected void Application_Error(object sender, EventArgs e)
{
var context = HttpContext.Current;
var exception = context.Server.GetLastError();
if (exception is HttpRequestValidationException)
{
context.Server.ClearError(); // Here is the new line.
Response.Clear();
Response.StatusCode = 200;
Response.Write(@"<html><head></head><body>hello</body></html>");
Response.End();
return;
}
}
https://stackoverflow.com/questions/5028206
复制相似问题