应用程序发生异常时,给用户一个友好的处理方式,同时将异常记录下来并通知系统管理员或是运维人员是应用的开发的常用场景。web form上微软提供了一个工具包,关于这个工具包参看推荐一个工具包自定义HTTP 404错误。如何在asp.net mvc上实现这样的功能呢?asp.net mvc 在创建项目的时候在Views的Shared目录下有一个错误处理页Error.aspx视图,这个默认的错误处理功能没有实现对错误日志的记录。
捕获所有的服务端异常包括HttpExeptions例如404错误,并且自定义错误处理的视图,同时将错误记录到数据库,发送给相关人员,综合下面两篇blog:
Real world error hadnling in ASP.NET MVC RC2:http://blogs.microsoft.co.il/blogs/shay/archive/2009/03/06/real-world-error-hadnling-in-asp-net-mvc-rc2.aspx
ELMAH with ASP.NET MVC: http://darrell.mozingo.net/2009/02/19/elmah-with-aspnet-mvc/
将这两文章的内容整合,就可以得到asp.net mvc的异常处理方面的一个相对全面的解决方案。