我们有一个拳头MVC应用程序,我在那里特别考虑徘徊。在常规Web表单应用程序中,我们几乎只使用try catch块将事件包装在页面后面的代码上。但就助手,控制器,路线等而言,mvc似乎不太清楚。我应该在哪里确保有记录。
答案 0 :(得分:2)
通常,您会在控制器操作中应用日志记录。您还可以从HandleError属性派生以添加错误日志记录,以及创建自定义操作/结果过滤器以自动执行某些类型的日志记录。使用这样的过滤器,您可以将其应用于基本控制器,并为所有操作提供一些基本的使用记录/检测。
如果使用控制器工厂,操作调用程序或模型绑定程序自定义框架,则可以在那里应用日志记录。当然,这与如何将日志记录应用于实际模型(域对象,外部服务,持久性和数据库,安全性等)无关。
答案 1 :(得分:0)
在Global.asax.cs文件中:
protected void Application_Error(object sender, EventArgs e)
{
_logger.Error("Unhandled exception", Server.GetLastError());
}