2009-08-18 72 views
2

我想在我的ASP.NET MVC应用程序中实现某种自动“记录”,当页面执行(包括数据库调用等)需要更长时间比3秒钟,然后收集一些'间接证据',例如哪些操作被调用,参数是什么,会话信息等,然后我可以存储该信息以供审阅/通过电子邮件发送等等。在ASP.NET中自动记录长/异常页面执行时间

我该如何做到这一点,最好是在全球范围内完成,无需为我的许多控制器操作中的每一个编辑/添加代码?

回答

2

开始通过看在Global.asax方法挂钩到以下事件:

- 的Application_BeginRequest

- Application_EndRequest

记录在拳头的时候,把它比作当前时间在最后 - 如果它太长日志。你也许可以从HttpContext.Current中获取动作等。

3

global.asax中的BeginRequest和EndRequest是最基本的方法,记录开始和结束时间,然后从那里记录日志。另一种(更可重用的)方法可能是创建您自己的定制提供程序,例如MSDN