Tôi hiện đang phát triển một ứng dụng ASP.NET sử dụng MasterPage
và tôi muốn đo thời gian tải của biểu mẫu web của ứng dụng và hiển thị thông tin đó cho khách hàng.Đo thời gian tải trang ASP.NET
chiến lược hiện tại của tôi liên quan đến việc sử dụng Application_BeginRequest
sự kiện callback liên quan (trong file Global.asax
dung dịch trang web của tôi), để bắt đầu đo thời gian dành cho quá trình server-side (như sau)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
và tính toán thời gian trôi qua trên OnPreRender
sự kiện callback liên quan của Webform, in nó trên một yếu tố giữ chỗ (như sau)
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>";
}
đây là cách tốt nhất để đo thời gian tải? Có cách nào "thanh lịch" hơn để thực hiện việc này không?
Cảm ơn trước vì đã dành thời gian và hợp tác của bạn.
Như tôi đã giới thiệu, tôi đang sử dụng Trang chính và tôi không tìm ra cách bật Trace trên đó, vì nó dường như không có thuộc tính "Dấu vết". Bạn có thể vui lòng giúp tôi với điều này? – XpiritO
Bạn không cần phải lần lượt truy tìm trên trang, chỉ cần làm trong web.config của bạn, và nó sẽ làm việc cho tất cả các trang: http://msdn.microsoft.com/en-us/library/6915t83k.aspx Nhưng xin vui lòng không giữ thiết lập này cho sản xuất! – realMarkusSchmidt
@markus "Chủ đề này không còn tồn tại" @ http://msdn.microsoft.com/en-us/library/6915t83k.aspx – Zack