我的ASP.NET Web应用程序在IIS 7.0和.NET 4.0上提供
我想衡量“对我的网络服务方法的任何请求(asmx)”的总持续时间 此日志需要包含一些自定义数据(例如ID,由我的应用程序提供)。
我打算按照以下步骤操作:
- 在Integrated Pipeline模式下运行应用程序
- 实现自定义http模块并附加到HttpApplication的BeginRequest和EndRequest事件。
- 在BeginRequest方法中,启动秒表
- 在EndRequest方法中; 秒表;从context.Session中读取自定义ID数据; 将结果写入数据库或文件日志。
你认为这是一个好方法吗? 实现这一目标的最佳方法是什么,你会推荐其他吗?
答案 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