gpt4 book ai didi

asp.net-mvc - 如何让 404 与 Elmah 一起使用,以及在 asp.net mvc 中为 Elmah 编写的 HandleErrorAttribute?

转载 作者:行者123 更新时间:2023-12-01 06:47:02 24 4
gpt4 key购买 nike

我已经在我的一个 ASP.NET MVC 项目中实现了 Elmah。另外我做了以下事情:

  • 我在这个 post 中实现了 Atif Aziz 编写的 ElmahHandleErrorAttribute
  • 我将属性添加到我所有的 Controller
  • 我已经设置 Elmah 来过滤掉 404 错误,因为我不想记录那些
  • 我在 Shared 文件夹中添加了一个 Error.aspx View ,我希望将其用于所有错误。
  • 我在 Web.Config 中的 customErrors 已打开,但我没有在其中指定任何错误页面,因为我不应该这样做。

  • 在我的一个 Controller 中,我有以下代码:
    if (model == null)
    throw new HttpException((int)HttpStatusCode.NotFound, "Project not found");

    如果在数据库中找不到记录,我只想显示 404。由于某种原因,我的 Error.aspx 页面不会显示 404 错误。相反,它显示通用的 asp.net“无法找到资源”页面。我试图删除 Elmah 中的 404 过滤器设置,但这并没有改变任何东西。

    有趣的部分是,如果我将错误从 NotFound 更改为 InternalServerError,则 Error.aspx 页面显示得很好。

    有没有人有任何关于为什么会这样的指示?

    最佳答案

    除了创建示例应用程序之外,我还没有使用 Elmah - 但也许是因为 404 不是应用程序错误?如果我的理解是正确的,则会将 404 错误推回 IIS,IIS 进而显示您看到的错误消息。另外,我相信 web.coin

    如果我理解正确,您可能想修改您的方法并构建使用此 instead或设置 Response.StatusCode到 404(在链接的问题中查看杰夫的回答)

    关于asp.net-mvc - 如何让 404 与 Elmah 一起使用,以及在 asp.net mvc 中为 Elmah 编写的 HandleErrorAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4027433/

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