【问题标题】:Measure Execution ASP.NET time without network time在没有网络时间的情况下测量执行 ASP.NET 时间
【发布时间】:2016-01-02 23:12:24
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: asp.net-mvc iis logging measure


    【解决方案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());
    

    我也想建议你VISITTHIS

    【讨论】:

    • 谢谢!但我想更多的是连接到 IIS 的工具。有这样的工具吗?
    • 经过进一步研究,解决方案是实现一个像Usman's answer这样的观察者(谢谢:)并在LAN网络中插入一个监控工具(数据中心内的服务器)
    猜你喜欢
    • 2011-11-15
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    相关资源
    最近更新 更多