gpt4 book ai didi

c# - Application_Error 未捕获 404 类型的错误

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:58 24 4
gpt4 key购买 nike

我想在全局范围内捕获这些类型的错误,以便我可以将它们记录到数据库中并向用户显示一条友好的消息:500、403 和 404。我正在使用 Log4Net 处理错误。

void Application_Error(object sender, EventArgs e)
{
string redirectUrl = "~/Error/GenericError.aspx"; //I put a breakpoint here...
var httpException = (HttpException)Server.GetLastError();
int httpCode = httpException.GetHttpCode();

//more code here...
}

只有在发生异常时才会命中断点,然后将错误识别为 500。

但是,当我拼错一个 URL 时,我排除了一个 404 错误被 Application_Error 方法捕获。相反,我浏览器显示此页面(见屏幕截图)。在这种情况下无法记录错误。

我是 ASP.NET Webform 4.5。在以前的版本中,例如 ASP.NET 4.0,我能够捕捉到所有 3 种类型的错误。

有没有办法也捕获 404 错误?

最佳答案

我假设“URL 拼写错误”是指 url 的 Controller /操作部分(相对于域或子域),否则这将是一个没有实际意义的问题。如果是这样,那么就像 K.Tamayo 提到的那样检查 customererrors 是否关闭,如下所示:

<configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration>

关于c# - Application_Error 未捕获 404 类型的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40324913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com