IIS自定义持续时间记录

时间:2013-06-14 13:53:09

标签: asp.net iis logging httpmodule

我的ASP.NET Web应用程序在IIS 7.0和.NET 4.0上提供

我想衡量“对我的网络服务方法的任何请求(asmx)”的总持续时间 此日志需要包含一些自定义数据(例如ID,由我的应用程序提供)。

我打算按照以下步骤操作:

- 在Integrated Pipeline模式下运行应用程序

- 实现自定义http模块并附加到HttpApplication的BeginRequest和EndRequest事件。

- 在BeginRequest方法中,启动秒表

- 在EndRequest方法中; 秒表;从context.Session中读取自定义ID数据; 将结果写入数据库或文件日志。

你认为这是一个好方法吗? 实现这一目标的最佳方法是什么,你会推荐其他吗?

1 个答案:

答案 0 :(得分:0)

IIS将记录所用的时间,您可以添加任何您想要的自定义数据。

您甚至可以使用ETW来读取日志对象,而不是解析日志文件。

IIS日志记录:

http://msdn.microsoft.com/en-us/library/ms525410(v=vs.90).aspx

“花费的时间”意味着:

http://support.microsoft.com/kb/944884/en-us

从您的应用中将自定义数据写入IIS日志:

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.appendtolog.aspx

可选择通过ETW连接,而不是从文件系统中读取日志:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb968803(v=vs.85).aspx http://www.iis.net/learn/get-started/whats-new-in-iis-85/logging-to-etw-in-iis-85