Aktualnie pracuję nad aplikacją ASP.NET, która korzysta z MasterPage
i chcę zmierzyć czas ładowania mojego formularza internetowego i wyświetlić te informacje klientowi.Zmierz czas ładowania strony ASP.NET
Moja obecna strategia polega na wykorzystaniu skojarzony zwrotnego Application_BeginRequest
zdarzeń (w pliku mojego rozwiązania stronie Global.asax
), aby rozpocząć pomiar czasu spędzonego na proces po stronie serwera (następująco)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
i obliczyć czas, który upłynął na OnPreRender
zdarzenia związanego zwrotnego formularza internetowego, w drukując go na element zastępczy (następująco)
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>";
}
jest to najlepszy sposób, aby zmierzyć czas ładowania? Czy istnieje bardziej "elegancki" sposób, aby to osiągnąć?
Z góry dziękujemy za poświęcony czas i współpracę.
Jak już wspomniałem, używam strony wzorcowej i nie zastanawiam się, jak włączyć śledzenie, ponieważ nie ma ona właściwości "śledzenia". Czy możesz mi pomóc z tym? – XpiritO
Nie musisz włączać śledzenia na stronie po stronie, po prostu rób to w swoim web.config, i będzie działać na wszystkich stronach: http://msdn.microsoft.com/en-us/library/6915t83k.aspx Ale nie zachowuj tego ustawienia do produkcji! – realMarkusSchmidt
@markus "Ten temat nie jest już dostępny" @ http://msdn.microsoft.com/en-us/library/6915t83k.aspx – Zack