在没有网络时间的情况下测量执行 ASP.NET 时间

Measure Execution ASP.NET time without network time

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

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

谢谢!

嗯,听起来想创建一个动作过滤器?像这样

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 and also THIS