0

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

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

我计划按照以下步骤操作:

-- 以集成管道模式运行应用程序

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

-- 在 BeginRequest 方法中,启动秒表

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

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

4

1 回答 1

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

于 2014-02-21T03:23:03.910 回答