我目前正在开发一个使用MasterPage
的ASP.NET应用程序,我想测量我的应用程序webform的加载时间并将该信息显示给客户端。测量ASP.NET页面加载时间
我目前的策略包括使用Application_BeginRequest
事件相关联的回调(在Global.asax
文件我的网站解决方案),开始花费在服务器端处理的时间测量(如下)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
并计算在Web窗体的OnPreRender
事件相关联的回调所经过的时间,打印出来的占位符元素(如下)
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
TimeSpan tsDuration = DateTime.Now.Subtract((DateTime)Context.Items["Request_Start_Time"]);
ExecutionTime.InnerHtml = "<em>Server-side processing duration: " + tsDuration.TotalMilliseconds + " miliseconds.</em>";
}
这是衡量加载时间的最佳方式?是否有更“优雅”的方式来完成这个?
在此先感谢您的时间和合作。
正如我所说的,我使用的是母版页,我没有弄清楚如何启用Trace,因为它似乎没有“Trace”属性。你能帮我解决这个问题吗? – XpiritO 2009-09-09 10:08:17
您不需要逐页打开跟踪,只需在您的web.config中执行,并且它适用于所有页面:http://msdn.microsoft.com/en-us/library/6915t83k.aspx但是请不要将此设置保留为生产! – realMarkusSchmidt 2009-09-09 10:34:34
@markus“此主题不再可用”@ http://msdn.microsoft.com/en-us/library/6915t83k.aspx – Zack 2015-01-08 15:04:26