Contador en ASP .NET desde Web.config en VB (3)

Sencillo contador de visitas que utiliza una variable de aplicación desde el archivo Web.config, obteniendo el valor de esa variable en el código apsx.vb e incrementándolo en 1 cada vez que se carga la página y presentando el número de visitas formateado con separador de miles

Una aplicación ASP .NET es el conjunto de archivos y carpetas de un directorio virtual y se representa mediante un objeto HttpApplication. Un objeto de este tipo, llamado Application, es generado al arrancar la aplicación (cuando un cliente pide una página del sitio por primera vez).

Application permite guardar variables (variables de aplicación) que van a estar disponibles para todos los usuarios (Application no asigna valores a usuarios concretos). Sin embargo, no es conveniente guardar en variables de aplicación código HTML extenso.
La variable de aplicación tiene una ventaja clara sobre la variable de sesión por el hecho de ser creada una sola vez por aplicación y no por usuario: independientemente del número de usuarios que visitan el sitio, hay una sola variable con el ahorro de memoria en el servidor.

¿Qué es el archivo web.config?

Es el archivo básico de configuración para toda aplicación ASP .NET. En él, mediante etiquetado XML, se configura todo lo referente a seguridad, sesiones, compilación, variables de sistema, etc. Web.config se coloca en el directorio raíz de la aplicación pero pueden existir más dentro de las carpetas para dar configuraciones parciales para los distintos segmentos de las aplicaciones.

Jerarquía de los archivos .config

.NET Framework se basa en archivos .config para definir opciones de configuración. Los archivos .config son archivos XML basados en texto. En un único sistema puede haber varios archivos .config.
La opción de configuración para todo el sistema se define en el archivo Machine.config que se localiza en la carpeta de instalación de la versión correspondiente de .NET Framework. Machine.config se puede modificar para afectar al comportamiento de las aplicaciones .NET en todo el sistema.
La configuración de ASP.NET para una sola aplicación se configura en un archivo Web.config que reside en la carpeta raíz de la aplicación. Web.config invalida la configuración de Machine.config.

Crear un archivo Web.config

Se puede crear con un procesador de texto. Debe ser un documento XML con formato correcto y ha de residir en el directorio raíz de la aplicación ASP.NET. Como mínimo debe tener elementos <configuration> y <system.web> que contienen los elementos de configuración individuales. Cada vez que se modifica algo en Web.config, que es controlado por el CLR de .NET Framework, se reinicia la aplicación web.
Aquí se muestra un archivo Web.config mínimo:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

	<appSettings>
		...
	</appSettings>

	<system.web>
		...
	</system.web>

</configuration>

La primera línea del archivo Web.config describe el documento XML y es la misma para todos los archivos .config. Las líneas que siguen marcan el principio y el fin de los elementos <configuration> y <system.web>. En ellos se van añadiendo las diferentes opciones de configuración.
En la sección appSettings podemos configurar variables del tipo clave / valor y utilizarlas en la aplicación.
Viendo las diferentes secciones con algo más de detalle, podríamos tener este Web.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

	<configSections>
	…
	</configSections>

	<!--Sección de variable que se pueden usar en toda la aplicación.-->
	<appSettings>
		<add key="nombre1" value="valor1" />
		<add key="nombre2" value="valor2" />
	</appSettings>

	<system.web>
		<!--Configuración de las sessiones-->
		<sessionState timeout="60" />
		<!--Habilitando y estableciendo duración de las cookies-->
		<sessionState cookieless="true" timeout="10"/>
	</system.web>

</configuration>

En él se han creado 2 variables cuyos valores podremos obtener desde el código aspx.vb y otras opciones referentes a la duración de las sesiones o de las cookies.

Archivo Web.config

Es muy simple, etiquetado XML y definición de una variable llamada visitas con un valor inicial que por defecto sería cero para empezar a contar.

<?xml version="1.0"?>
<configuration>

	<appSettings>
		<add key="visitas" value="0" />
	</appSettings>

</configuration>

Archivo ASPX.VB

Se puede acceder a las variables de aplicación de Web.config de 2 formas diferentes:

'2 formas de obtener el valor de la variable visitas desde Web.config'
'WebConfigurationManager necesita Imports System.Web.Configuration'
i = CInt(WebConfigurationManager.AppSettings("visitas").ToString)
'ConfigurationSettings necesita Imports System.Configuration'
i = CInt(ConfigurationSettings.AppSettings("visitas").ToString)

Al cargar la página se obtiene el valor de la variable de aplicación (visitas) que se convierte a entero para poder incrementarla en 1 y guardar ese valor convertido de nuevo en cadena en la variable de aplicación.

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	i = CInt(ConfigurationSettings.AppSettings("visitas").ToString)
        'al convertir i a cadena con ToString, se le puede aplicar formato al número: (" #,# ") coloca puntos de separación en los millares'
        n.Text = " Eres el visitante número <b><font color=red>" + i.ToString(" #,# ") + "</font></b> "
		'incrementar en 1 el número de visitas al recargar la página'
		i = i+1
		'guardar el nuevo valor de la variable de aplicación'		System.Configuration.ConfigurationSettings.AppSettings("visitas") = CStr(i)
    End Sub

Ejecutar la aplicación

Para probar la aplicación en modo local en nuestro propio ordenador hay que incluir los 3 archivos en una carpeta que se puede llamar contadorapp, colocar esa carpeta en la carpeta del servidor web, no es necesario convertirla en aplicación web si usas IIS, y dirigir el navegador a

http://localhost/contadorapp/contadorapp.aspx

Puedes descargar los 3 archivos completos desde aquí.