确定Application_BeginRequest和Application_EndRequest绑定的时间

时间:2017-06-28 09:59:16

标签: .net rest

我想添加一些记录,说明.Net Web应用程序处理请求所需的时间。

我的想法是使用Application_BeginRequestApplication_EndRequest,我可以在HttpContext.Current.Request.Path中查看Application_BeginRequest并记录开始时间和同一HttpContext.Current.Request.Path时间通过Application_EndRequest记录结束时间。但是在一个繁忙的网站上,我不能保证多次通话会弄乱这个想法(可能会出现一个呼叫,这个呼叫需要比相同的呼叫运行更长时间)。

所以我的问题是,是否有一些我可以在Application_BeginRequestApplication_EndRequest中检查将调用联系在一起的内容,是否有一些ID或其他内容?还是有一些我可以做的更简单的事情?

1 个答案:

答案 0 :(得分:1)

我的解决方案是使用ta.speot.is

建议的HttpContext.Current.Items

Application_BeginRequest我创建System.Diagnostics.Stopwatch并在其上调用.Start

Stopwatch添加到HttpContext.Current.Items

Application_EndRequest中从Stopwatch检索HttpContext.Current.Items并致电.Stop我现在可以查看.Elapsed,这样就可以了解我的时间。

当我发布我的问题时,我不知道HttpContext.Current.Items特定于呼叫,但我现在也这样做 - 所以这提供了解决方案。