在典型的 MVC 应用程序中,您有很多层。
数据库层 模型层(可能与数据库在同一个包中) 视图/UI 层 控制器层 业务层
如果您要在足够复杂的 MVC 应用程序中为错误日志记录创建自定义异常、接口和模型,那么异常处理或错误日志记录应该在哪里?
在典型的 MVC 应用程序中,您有很多层。
数据库层 模型层(可能与数据库在同一个包中) 视图/UI 层 控制器层 业务层
如果您要在足够复杂的 MVC 应用程序中为错误日志记录创建自定义异常、接口和模型,那么异常处理或错误日志记录应该在哪里?
您应该在数据层中处理来自数据层的异常(例如 SQLExceptions),在控制器中处理控制器/逻辑异常,在视图中处理显示相关异常。使用像 ELMAH 这样的日志记录解决方案来记录异常并捕获未处理的异常。
我在我的网站上使用 Elmah 并取得了很好的成功。
http://www.dotneat.net/2011/04/12/ErrorHandlingInASPNETMVC3.aspx
http://joel.net/logging-errors-with-elmah-in-asp.net-mvc-3--part-1--setup