当前位置: 代码迷 >> ASP.NET >> 怎么获取asp.net页面每个方法的运行时间
  详细解决方案

怎么获取asp.net页面每个方法的运行时间

热度:5522   发布时间:2013-02-25 00:00:00.0
如何获取asp.net页面每个方法的运行时间
如何获取asp.net页面每个方法的运行时间,就象监测JS方法运行时间那样的

------解决方案--------------------------------------------------------
难道需要每一个方法都写上stopwatch
------解决方案--------------------------------------------------------
函数开始时一个TickCount ,结束前一个TickCount ,两个相减得到毫秒数,当然还有更高精度的计时,搜吧
------解决方案--------------------------------------------------------
探讨

难道需要每一个方法都写上stopwatch

------解决方案--------------------------------------------------------
C# code
        public string dateDiff(DateTime DateTime1, DateTime DateTime2)        {            string dateDiff = "";            try            {                TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);                TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);                TimeSpan ts = ts1.Subtract(ts2).Duration();                dateDiff = ts.Days.ToString() + "Days" +                        ts.Hours.ToString() + ":"                        + ts.Minutes.ToString() + ":"                        + ts.Seconds.ToString() + "."                        + ts.Milliseconds.ToString() ;            }            catch            {            }            return dateDiff;        }
------解决方案--------------------------------------------------------
函数开始及结束都记录个时间。。
------解决方案--------------------------------------------------------
在Global.asax页面写:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
//记录页面开始加载时间
dt = DateTime.Now;

}
protected void Application_EndRequest(Object sender, EventArgs e)
{
DateTime dt2 = DateTime.Now;//页面加载结束时间
TimeSpan ts = dt2 - dt;//获得页面加载花费时间
HQSoft.HQBLL.TB_Log LogBLL = new HQBLL.TB_Log();
HQSoft.HQModel.TB_Log LogModel = new HQModel.TB_Log();
LogModel.LogDate = DateTime.Now.ToLocalTime();
LogModel.LogType = 1;
LogModel.LogSystem = System.Web.HttpContext.Current.Request.Url.ToString();
LogModel.LogText = "页面加载花费时间:" + ts.TotalMilliseconds.ToString() +"毫秒";
LogBLL.Add(LogModel);
//Response.Write("the request takes:" + ts.TotalMilliseconds.ToString() + " milliseconds");
//Response.Write(System.Web.HttpContext.Current.Request.Url.ToString());

}
------解决方案--------------------------------------------------------
探讨
难道需要每一个方法都写上stopwatch

------解决方案--------------------------------------------------------
VS菜单 Analyze -> Launch Performance Wizard ...
------解决方案--------------------------------------------------------
还没碰到这样的需求,stopwatch吧
------解决方案--------------------------------------------------------
这个你在该方法执行的最开始阶段加一个时间,方法结束的时候定义一个时间 相减就是你的方法执行时间了
  相关解决方案