gpt4 book ai didi

c# - 使用 ErrorController 而不是直接 View 处理错误

转载 作者:太空狗 更新时间:2023-10-29 21:31:50 27 4
gpt4 key购买 nike

我正在努力了解 MVC 中的错误处理。我正在寻找的是一种集中式的方式来捕获错误、记录它们、如果可能的话解决它们,如果有必要则采取其他行动并最终向用户显示正确的 View 。

我想我可以为此使用 [HandleError] 过滤器,但我看不出有什么方法可以将它路由到 Controller / Action 。我看到的唯一选择是将它直接指向一个 View 。

最佳答案

HandleErrorAttribute MVC 附带的是一个非常基本的 IExceptionFilter。

你有几个选择来实现我认为你想要的。

您可以在操作/ Controller 上使用 [HandleError (Type=typeof(MyException),View="ErrorView")] 或实现您自己的

HandleErrorAttribute不是很复杂。我认为 MS 建议您复制此代码并进行修改以满足您的要求。

OnException 覆盖使您可以通过 ExceptionContext 访问您可能需要的所有信息 - Controller 、操作、路由数据等。

请记住设置 ExceptionHandled。然后您可以将 filterContext.Result 设置为一个新的 RedirectToAction 实例,该实例重定向到您的 ErrorController 和操作 - 显然您可以使用属性公开特定的 Controller 和操作。

关于c# - 使用 ErrorController 而不是直接 View 处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197414/

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