Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] httpmodules, httphandler

Estas en el tema de httpmodules, httphandler en el foro de .NET en Foros del Web. Hola buenos días, Os comento lo que me han dicho que tengo que hacer. Tengo un proyecto enorme que ya lleva dos años empezado y ...
  #1 (permalink)  
Antiguo 15/01/2015, 01:49
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
httpmodules, httphandler

Hola buenos días,

Os comento lo que me han dicho que tengo que hacer. Tengo un proyecto enorme que ya lleva dos años empezado y ahora me han dicho que tengo que conseguir que la plataforma almacene una serie de datos que nos permitan realizar posteriormente un análisis estadístico de la utilización de la plataforma. Es decir, tengo que registrar las páginas visitadas incluyendo para cada una de ellas aquella información que nos permita identificar el entorno de ejecución, usuario, tipo de navegador utilizado, dirección ip desde la que se realiza la petición y la duración de las distintas fases de la carga de la pagina en el cliente.

Para ello me han dicho que tengo que buscar información sobre httpmodules, httphandler.
Pero no se por donde empezar ya que todo esto lo tengo que hacer en C# y no lo he utilizado nunca para programar....

Si alguien me puede orientar un poco, lo agradecería de verdad.

Ahora mismo estoy
__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 15/01/2015, 03:30
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Respuesta: httpmodules, httphandler

He visto que hay algunas funciones que me facilitarían un poco este trabajo pero la verdad es que no se muy bien como funcionan, estoy mirando a ver si me aclaro un poco.

He creado una solución con esta funciones para ver en que momento se ejecuta cada una depurando.
Código C#:
Ver original
  1. /* OPCION A */
  2.  
  3.  
  4.         protected override void Execute(System.Web.Routing.RequestContext requestContext)
  5.         {
  6.             /// Hago algo
  7.  
  8.             base.Execute(requestContext);
  9.  
  10.  
  11.             /// Hago algo
  12.  
  13.         }
  14.  
  15.         /* OPCION B */
  16.         protected override void OnActionExecuting(ActionExecutingContext filterContext)
  17.         {
  18.             base.OnActionExecuting(filterContext);
  19.         }
  20.  
  21.         protected override void OnActionExecuted(ActionExecutedContext filterContext)
  22.         {
  23.             base.OnActionExecuted(filterContext);
  24.         }

Pero ejecutando solo me va a las que tengo dentro de la opción B y me gustaría saber por que no funciona la opción A.

Gracias,
__________________
Gracias por todo;

Un saludo
  #3 (permalink)  
Antiguo 15/01/2015, 09:06
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Respuesta: httpmodules, httphandler

Ya está,

He utilizado las dos ultimas funciones en las que recojo los datos que necesito para así más adelante y guardar los registros en base de datos cada vez que alguien acceda a cada página.

Dejo aquí el código por si a alguien alguna vez le interesa.

Código c#:
Ver original
  1. protected override void OnActionExecuting(ActionExecutingContext filterContext)
  2.         {
  3.             base.OnActionExecuting(filterContext);
  4.             dFechaIni = DateTime.UtcNow;
  5.         }
  6.  
  7.         protected override void OnActionExecuted(ActionExecutedContext filterContext)
  8.         {
  9.             base.OnActionExecuted(filterContext);
  10.             dFechaFin = DateTime.UtcNow;
  11.             TimeSpan dif = dFechaFin - dFechaIni;
  12.             lDuracion = (long)dif.TotalMilliseconds;
  13.             sUrl = filterContext.HttpContext.Request.Url.AbsoluteUri;
  14.             sIP = filterContext.HttpContext.Request.UserHostAddress;
  15.  
  16.             if (filterContext.HttpContext.Request.UrlReferrer != null)
  17.             {
  18.                 sPaginaOrigen = filterContext.HttpContext.Request.UrlReferrer.AbsoluteUri;
  19.             }
  20.  
  21.             sNavegador = filterContext.HttpContext.Request.UserAgent;
  22.  
  23.             if (filterContext.HttpContext.User != null)
  24.             {
  25.                 sUsuario = filterContext.HttpContext.User.Identity.Name;
  26.             }
  27.             else
  28.             {
  29.                 sUsuario = "";
  30.             }
  31.  
  32.             sTipo = filterContext.HttpContext.Request.HttpMethod;
  33. }

Muchas gracias,
__________________
Gracias por todo;

Un saludo

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:14.