Tutorial ASP.NET: Archivos Web.Config y Global.asax
Global.asax El archivo Global.asax es opcional y nos permite manejar eventos de Aplicación y de Session en nuestra aplicación ASP.NET. El archivo Global.asax reside en el directorio raíz de una aplicación de ASP.NET. Este archivo se compila en tiempo de ejecución, no es accesible por URL y debe ubicarse en el directorio raíz de la solución.
Global.asax
Template Global.asax:
<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // Codigo que se ejectura cuando inicia la aplicacion } void Application_End(object sender, EventArgs e) { // Codigo que se ejectura cuando finaliza la aplicacion } void Application_Error(object sender, EventArgs e) { // Codigo que se ejectura cuando ocurre algun error en la aplicacion } void Session_Start(object sender, EventArgs e) { // Codigo que se ejectura cuando se inicia la sesion. } void Session_End(object sender, EventArgs e) { // Codigo que se ejectura cuando finaliza la sesion. } </script>
El uso clásico es el contador de visitas que debe sumar por cada usuario que ingrese al sitio web. El evento que se ejecuta por cada ingreso esSession_Start
.
Ejemplo:
Código en Gobal.asax: Inicializamos una variable en 0 al iniciar la aplicación y luego por cada inicio de sesión la incrementamos y la cargamos a una variable de sesión para poder acceder a ella desde el resto de la aplicación.
private int cnt; void Application_Start(object sender, EventArgs e) { // Codigo que se ejectura cuando inicia la aplicacion cnt = 0; } void Session_Start(object sender, EventArgs e) { // Codigo que se ejectura cuando se inicia la sesion. Session["cv"] = cnt++; } Código de la pagina aspx a la que llamaremos ContadorVisitas.aspx <%@ Page Language="C#" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { Response.Write(Session["cv"]); </script> } <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>
La ventaja de manejarlo de esta forma es que vamos a lograr un contador de visitas reales, es decir, sólo sumará cada inicio de sesión en lugar de sumar cada solicitud a la página.
Para probarlo copiamos el archivo ContadorVisitas.aspx
y Global.asax
al directorio virtual creado anteriormente en el IIS y lo ejecutamos: http://localhost/MiPrimeraAplicacionWeb/ContadorVisitas.aspx
.
Web.config
El archivo Web.config
es el archivo principal de configuraciones de toda aplicación ASP.NET. Es un archivo XML que controla el funcionamiento del sitio web.
- Control de seguridad.
- Conexiones a bases de datos.
- Estado de las sesiones.
- Control de errores.
- Configuraciones personalizadas.
- Al igual que el global.asax debe ser colocado en la raíz de la aplicación.
Estructura básica de un archivo web.config
:
<configuration> <system.web/> <appSettings/> </configuration>
Agregamos Keys a nuestro web.config
para ver cómo usarlos en nuestro sitio.
Por ejemplo, si queremos controlar que el contador de visitas vaya a estar activo o no agregamos una key llamada HabilitarContadorVisitas
y lo seteamos como verdadero. Nuestras Keys (Claves) vamos a agregarlos en el tag<appSettings>
<appSettings> <add key="HabilitarContadorVisitas" value="true" /> </appSettings>
Modificamos el evento Session_Start
del global.asax
para preguntar el estado de la key y controlar el comportamiento del contador de visitas.
ConfigurationManager.AppSettings.Get("HabilitarContadorVisitas");
Código del evento Session_Start
void Session_Start(object sender, EventArgs e) { // Codigo que se ejectura cuando se inicia la sesion. if (Convert.ToBoolean(ConfigurationManager.AppSettings.Get("HabilitarContadorVisitas"))) { Session["cv"] = cnt++; }
Luego copiamos al directorio virtual los archivos modificados y veremos que el contador de visitas siempre nos marcara CERO. Más adelante usaremos el web.config
para establecer nuestra conexión con datos.
Capítulos del Tutorial
- Capítulo 1: Tutorial de desarrollo web con ASP.NET
- Capítulo 2: Primera aplicación web en ASP.NET
- Capítulo 3: Ejecutar código JavaScript en ASPNET
- Capítulo 4: Archivos Web.Config y Global.asax
En el próximo capítulo que se publica el martes veremos: Utilización de Código detrás del modelo o código en línea.
gracias me ayudo mucho a darme una idea clara de como funciona el global.asax
Hola, favor de seguir publicando paso a paso la programación en ASP.NET 2010, la he estado siguiendo y me ha sido de bastante ayuda… he ido practicando cada ejercicio que presentas allí…
Por favor, si te es posible, presenta las láminas en la fase de diseño y de código para ir viendo la manera cómo se van presentando los códigos que vas señalando… si no es mucho pedir…
Estoy seguro que la comunidad de este foro está muy agradecida al igual que yo de este grandioso aporte que estás realizando…
Espero con ansias llegues a la parte en la que conectas las aplicaciones con la base de datos, en la que podamos mostrar en el formulario de ASP.NET las informaciones que tenemos en la base de datos que hemos preparado… yo estoy utilizando la base de datos de windows server 2008 R2 que se acopla bastante bien con ASP.NET…
Muchas gracias por tus aportes, te prometo que seré un fiel seguidor de este curso hasta el final…