Hola.
Tengo un pequeño sitio hospedado en IIS 7 (corriendo sobre Windows Vista Ultimate de 64 bits) y mi contador de visitas trabaja de manera inconsistente.
Sin apagar el servidor, el contador se resetea a 1 después de que los hilos se cierran. El código funciona como se supone en IIS 6, así que supongo que debe ser relacionado con la manera en que IIS 7 maneja los recursos.
Tengo un archivo GLOBAL.ASAX en donde defino lo siguiente:
------------->
<%@ language="C#" Debug=True%>
<script runat="server">
void Application_Start(Object Sender, EventArgs e)
{
Application["Sessions"] = 0;
Application["Visitors"] = 0;
}
//The BeginRequest event is fired for every hit to every page in the site
void Application_BeginRequest(Object Sender, EventArgs e)
{
}
void Session_Start(Object Sender, EventArgs e)
{
Session.Timeout=1;
Application.Lock();
Application["Sessions"] = (int) Application["Sessions"] + 1;
Application["Visitors"] = (int) Application["Visitors"] + 1;
Application.UnLock();
}
void Session_End(Object Sender, EventArgs e)
{
Application.Lock();
Application["Sessions"] = (int) Application["Sessions"] - 1;
Application.UnLock();
}
void Application_End(Object Sender, EventArgs e)
{
//Write out our statistics to a log file
//...code omitted...
}
</script>
<--------------------
y luego utilizo
<p align="center"><font size="1">Usuarios activos: <%Response.Write(Application["Sessions"].ToString()); %> | Visitantes recibidos: <%Response.Write(Application["Visitors"].ToString()); %></font></p>
para desplegar las sesiones abiertas y los visitantes acumulados.
El caso es que empieza a acumular las visitas y de repente vuelve a contar desde 1. ¿Alguien tiene una idea de cómo solucionar este problema?
Gracias.