В настоящее время я разрабатываю приложение ASP.NET, которое использует MasterPage
, и я хочу измерить время загрузки веб-формы моего приложения и отобразить эту информацию клиенту.
В моей текущей стратегии задействован обратный вызов события 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>";
}
Это лучший способ измерить время загрузки? Есть ли более "изящный" способ достичь этого?
Заранее благодарим за ваше время и сотрудничество.