No encontraremos nunca a una persona, que haya publicado una página web en Internet, que no este interesando en saber cuantas visitas recibe. Y es que la creación de cualquier sitio virtual encubre deseos personales, profesionales y en muchos casos monetarios. El número de visitas o «impactos» que recibe nuestra página será un buen medidor de la efciciencia o empatia que esta tiene en la red.
Existen diversas formas de controlar el número de visitas. En este caso vamos a explicar como hacerlo con el objeto Application que nos ofrece ASP. Esta no es la forma más eficiente de llevar este control, pero es una de las formas y qué menos que explicar su funcionamiento. Otras formas de control de visitas de la página y que, seguro, serán estudio de un artículo en Linea de Código son:
- Control mediante ficheros
- Control mediante bases de datos
- Lectura del log del servidor web
Pasamos a ver como controlar las visitas con el objeto Application… Si refrescamos la memoria, este objeto guarda información desde que se inicia el servidor web hasta que este es apagado.
La forma de acceso al objeto Application es muy sencilla. Si queremos incrementar su valor simplemente tendremos que codificar:
application("visitas") = application("visitas") + 1
Pero la pregunta es dónde tenemos que poner este código, ya que si lo ponemos en cada una de las páginas tendremos muchos datos que no nos sirven. Y es que este código tenemos que ponerlo en el fichero global.asa en el inicio de sesión del usuario (Session_OnStart). Es decir, cada vez que un usuario inicie sesión incrementaremos nuestro contador.
Sub Session_OnStart
application.Lock
application("visitas")=application("visitas")+1
application.UnLock
End Sub
Tenemos que tener en cuenta que cuando hacedemos a un dato de aplicación hay que realizar un bloqueo de los datos ya múltiples usuarios pueden estar accediendo al mismo. Para ello utilizamos los métodos .Lock y .UnLock sobre el objeto Application.
Esta solución tiene una serie de carencias que son básicamente dos. La primera es que cuando se apaga el servidor, y esto puede suceder por múltiples motivos, mantenimiento,… perderemos toda la información de visitas, ya que no está persistida en un dispositivo no volatil, vamos, que está en memoria. La segunda carencia es que si un mismo usuario puede estar entrando en diferentes sesiones (le basta con abrir dos navegadores) y, por lo tanto, tendremos una información alterada.
En este punto, y por terminar, podríamos decir que existe una diferencia entre visitas de usuarios. Para ello deberiamos de eliminar las visitas repetidas por sesión. E impactos. Quiere decir, que este artículo lo tendríamos que haber titulado «Impactos de la página»