【发布时间】:2019-08-11 05:31:05
【问题描述】:
场景
我有一个带有异常处理中间件的 .NET Core 2.2 Web API。每当应用程序(在 MVC 层内)发生异常时,它就会被异常中间件捕获并作为内部服务器错误返回到前端并记录到 kibana。
问题
当出现问题时,这一切都很好,但有时我想具体通知调用应用程序出了什么问题。即,“在数据库中找不到记录!”或“无法将这个转换成那个!”
我的解决方案
我已经使用应用程序异常(不是很好 - 我知道)来捎带错误中间件以将其返回到前端。这一直工作得很好,但是由于不得不抛出一大堆异常而在代码周围产生了很多噪音。我对这种方法并不满意,并坚信一定有更好的解决方案。
我的应用程序架构:我遵循传统的 n-tier application 布局,即服务(业务逻辑)和存储库 (DAL) 都相互通信。我希望在任何这些层中优雅地将任何问题反馈给用户。
我一直在考虑这个问题,但不确定最好的方法是什么。任何建议将不胜感激。
【问题讨论】:
-
能否在调用应用程序中添加一个事件监听器来监听中间件的异常处理事件?
-
@L0uis 这是可能的,但不确定这将如何让我实现我想要的。
标签: c# asp.net-core error-handling asp.net-core-webapi