Una aplicación de ASP .NET es el conjunto de archivos y carpetas de un directorio virtual y se representa mediante el 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 nos va a permitir 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?
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 deMachine.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 su aplicación ASP.NET. Como mínimo debe tener elementos <configuration> y <system.web> que contienen los elementos de configuración individuales. 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.
Cada vez que se modifica algo en Web.config, que es controlado por el CLR de .NET Framework, se reinicia la aplicación web.
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 variables 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 sesiones--> <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.
Para acceder a las variables desde el código aspx.vb se pueden emplear 2 construcciones;
System.Configuration.ConfigurationSettings.AppSettings("nombre1")
System.Web.Configuration.WebConfigurationManager.AppSettings("nombre2")