c# - Global.asax.cs Application_Error 中的 MVC 自定义错误代码未按预期工作
问题描述
我为 webapp 设置了以下全局错误处理设置。
全球.asax.cs
protected void Application_Error()
{
//log error
_logger.Error("something bad happened", Server.GetLastError());
//clear error
Server.ClearError();
//redirect to error page
Response.RedirectToRoute(new { controller = "services", action = "error" });
}
具有错误操作的服务控制器。此视图使用 ErrorModel 类作为模型。
public ActionResult Error()
{
return View(new ErrorModel{ Message = "nothing really happened go to bed" });
}
普遍的看法:
public ActionResult General()
{
throw new Exception("Exception XYZ");
}
当我使用 VS F5 调试应用程序并/general
查看时,记录了正确的异常 ( Exception XYZ
)。
但是在测试已发布的 IIS webapp 并/general
查看时,会记录一个不同的意外异常:
System.InvalidOperationException:传入字典的模型项的类型为“System.Web.Mvc.HandleErrorInfo”,但此字典需要“MyWebsite.Models.Services.ErrorModel”类型的模型项。
Exception XYX
根本没有记录。Error
带有正确错误消息 ( )的正确视图nothing really happened go to bed
会显示出来。
我究竟做错了什么?我如何确保Exception XYZ
被记录?
我目前不打算使用HandleErrorAttribute
或override void OnException
在控制器中。
编辑 似乎这个问题已经在 2010 年在这里讨论过
解决方案
推荐阅读
- python - Python 随机错误
- c# - 动态控制可见性 WPF MVVM C#
- javascript - 即使该标签没有文章,我如何在标签上加载 Shopify 博客视图/模板?
- java - 当我尝试将值添加到形状数组时,为什么会出现 NumberFormatException
- open-telemetry - 如何以代理方式启动收集器(使用 opentelemtry-java-instrumentation)
- powerbi-desktop - 关于在 Power BI 的视觉效果中具有组数据选项
- c++ - 串口文件描述符 close() 延迟
- r - 根据用户输入的值显示列数
- javascript - 将数字数组转换为键,后跟与键匹配的索引
- rstudio - 如何控制 bookdown 中管道格式表的格式,例如条带化?