加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

测量ASP.NET页面加载时间

发布时间:2020-12-15 23:20:11 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个使用MasterPage的ASP.NET应用程序,我想测量我的应用程序webform的加载时间,并将该信息显示给客户端. 我目前的策略涉及使用Application_BeginRequest事件关联的回调(在我的网站解决方案的Global.asax文件中)来开始衡量在服务器端进程中花费的时
我正在开发一个使用MasterPage的ASP.NET应用程序,我想测量我的应用程序webform的加载时间,并将该信息显示给客户端.

我目前的策略涉及使用Application_BeginRequest事件关联的回调(在我的网站解决方案的Global.asax文件中)来开始衡量在服务器端进程中花费的时间(如下)

protected void Application_BeginRequest(Object sender,EventArgs e) {
   Context.Items.Add("Request_Start_Time",DateTime.Now);
}

并计算Webform的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>";
}

这是衡量装载时间的最佳方式吗?有没有更加“优雅”的方式来完成这个?

提前感谢您的时间与合作.

解决方法

<%@ Page Trace =“true”%> (或在web.config中设置此项)

启用跟踪并查看trace.axd(在您的网站的根目录中)中的信息.

那么你可以设置时间点:

Trace.Write("Start time intensive task");
Trace.Write("Stop time intensive task");

http://msdn.microsoft.com/en-us/library/bb386420.aspx

这是假设“您的客户端”需要深度调试数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读