我在Global.asax文件中有以下代码:
protected void Application_Error()
{
var exception = Server.GetLastError();
Response.Clear();
Server.ClearError();
//processing
Response.RedirectPermanent("url processed"));
}
在localhost上运行正常,做这样的事情:
我访问“www.somesite.com/uk/en-GB”,并且因为此路由未注册,Application_Error“捕获”错误,处理它并重定向到正确的路由“www.somesite.com / EN-GB”。 (如上面的代码Global.asax所示)
但是在服务器上,我尝试访问“www.somesite.com/uk/en-GB”,并且它没有转到Application_Error,而是显示这个错误:
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
您没有收到错误消息。你有一个404响应代码。您需要以不同方式处理该场景。 Application_Error仅捕获未捕获的异常。
答案 1 :(得分:0)
我正在运行IIS 6,我发现通过将其添加到system.web下的Web.Config文件中可以轻松解决此问题:
<customErrors mode="Off">
</customErrors>
这将允许Application_Error中的代码执行。