在典型的MVC应用程序中,有许多层次:数据库层 模型层(可能在与DB相同的包中) 视图/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