В настоящее время я разрабатываю приложение ASP.NET, которое использует MasterPage
, и я хочу измерить время загрузки веб-формы моего приложения и отобразить эту информацию для клиента.Измерение времени загрузки страницы ASP.NET
Моя текущая стратегия предполагает использование Application_BeginRequest
события, связанного обратного вызова (в Global.asax
файле моего сайта решения), чтобы начать измерение времени, затрачиваемого на процесс на стороне сервера (следующим образом)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
и вычислить время, прошедшее на 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». Не могли бы вы мне помочь? – XpiritO
Вам не нужно поворачивать трассировку на странице за страницей, просто выполните в вашем web.config, и она будет работать на всех страницах: http://msdn.microsoft.com/en-us/library/6915t83k.aspx Но пожалуйста, не оставляйте эту настройку для производства! – realMarkusSchmidt
@markus «Эта тема больше не доступна» @ http://msdn.microsoft.com/en-us/library/6915t83k.aspx – Zack