Actualmente estoy desarrollando una aplicación ASP.NET que usa un MasterPage
y quiero medir el tiempo de carga de mi formulario web y mostrar esa información al cliente.Medir el tiempo de carga de la página ASP.NET
Mi estrategia actual consiste en utilizar la devolución de llamada asociado Application_BeginRequest
evento (en el archivo Global.asax
de mi solución sitio web), para iniciar la medición del tiempo empleado en el proceso de servidor (como sigue)
protected void Application_BeginRequest(Object sender, EventArgs e) {
Context.Items.Add("Request_Start_Time", DateTime.Now);
}
y calcular el tiempo transcurrido en la devolución de llamada asociado OnPreRender
de eventos del formulario web, imprimirlo en un elemento de marcador de posición (como sigue)
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>";
}
es ésta la mejor manera de medir el tiempo de carga? ¿Hay una manera más "elegante" de lograr esto?
Gracias de antemano por su tiempo y cooperación.
Como mencioné, estoy usando una página maestra y no estoy descifrando cómo habilitar Trace en ella, ya que no parece tener la propiedad "Trace". ¿Podrías por favor ayudarme con esto? – XpiritO
No necesita activar Tracing en una página por página, simplemente haga en su web.config, y funcionará para todas las páginas: http://msdn.microsoft.com/en-us/library/6915t83k.aspx Pero ¡por favor no guarde esta configuración para producción! – realMarkusSchmidt
@markus "Este tema ya no está disponible" @ http://msdn.microsoft.com/en-us/library/6915t83k.aspx – Zack