无网络时间测量执行ASP.NET时间

时间:2015-09-16 08:58:31

标签: asp.net-mvc iis logging measure

我想测量我的MVC .NET4.5 App的请求执行时间。 使用IIS日志记录时,所需的时间包括网络时间。 (https://support.microsoft.com/en-us/kb/944884) 我在Windows 2008 R2上使用IIS7.5。

是否可以(使用IIS或其他工具)测量从客户端请求到IIS响应的时间? (并且无需等待客户确认)

谢谢!

1 个答案:

答案 0 :(得分:1)

听起来好像要创建一个动作过滤器?像这样

public class CheckTimeFilter : IActionFilter
{
    private Stopwatch stopWatch = new Stopwatch();

    public void OnActionExecuting(ActionExecutingContext filterContext)
    {
        stopWatch.Reset();
        stopWatch.Start();
    }

    public void OnActionExecuted(ActionExecutedContext filterContext)
    {
        stopWatch.Stop();
        var executionTime = stopWatch.ElapsedMilliseconds;
        // Do something with the executionTime
    }
}

并将此过滤器注册到`Application_Start()'

中的全局过滤器
GlobalFilters.Filters.Add(new CheckTimeFilter());

我还建议您VISIT以及THIS