Configuración, despliegue y administración
Configuración
1. Herencia en la configuración
Cada ordenador equipado con el framework .NET dispone de un archivo central de configuración Machine.config. Este archivo, ubicado en la carpeta C:\Windows\Microsoft.NET\Framework\Version\Config, provee al CLR y a todos los ensamblados parámetros de todo tipo.
Las aplicaciones .NET Windows poseen su propio archivo de configuración, opcional. Se trata, en Visual Studio, del archivo App.config que se convierte en el archivo NombreDelEnsamblado.exe.config tras la compilación.
Hemos mencionado, a menudo, el archivo Web.config para las aplicaciones ASP.NET. En cierta medida, este archivo juega el mismo rol que App.config. Su funcionamiento es, no obstante, más fino: cada carpeta virtual puede declarar un archivo Web.config que hereda de los parámetros definidos en el Web.config de nivel superior.
Todas las aplicaciones ASP.NET heredan, también, valores provistos por el archivo raíz Web.config (también ubicado en la carpeta Config), que hereda, él mismo, del archivo Machine.config. Esto es lo que se conoce como herencia en la configuración.
Los parámetros del archivo Machine.config tienen preferencia. El atributo allowDefinition controla la reconfiguración de una sección mediante una aplicación ASP.NET. Los posibles valores del atributo son:
Everywhere (valor por defecto) |
Autoriza la configuración de la sección... |
Despliegue de aplicaciones ASP.NET
Una vez terminado el desarrollo de un sitio web, éste debe transferirse sobre un entorno de pruebas o de producción. Esta operación se denomina despliegue de la aplicación.
1. Despliegue manual
a. Creación de una carpeta virtual
El despliegue manual consiste principalmente en copiar los archivos del sitio en la carpeta del servidor de producción. Antes de proceder a la transferencia, la carpeta de destino debe prepararse para reconocerla en las URL solicitadas por los navegadores al servidor web.
Como existe una diferencia entre la raíz física del sistema de archivos (C:\, por ejemplo) y la raíz lógica de las URI (/ se corresponde con C:\inetpub\wwwroot), hablamos de carpeta virtual para diseñar una carpeta accesible mediante HTTP.
Creación de una carpeta virtual por IIS
La consola de administración IIS sabe crear carpetas virtuales. Hay que utilizar el menú contextual Agregar directorio virtual en la entrada Sitio Web por defecto.
Creación de una aplicación a partir de una carpeta existente
La consola de administración muestra, automáticamente, las carpetas que figuran en C:\inetpub\wwwroot. Las que se hubieran creado sin declararse como carpetas virtuales no se muestran del mismo modo.
Para crear una aplicación (y, por tanto, declarar la carpeta como carpeta virtual), hay que utilizar el menú contextual Convertir en aplicación.
b. Selección de archivos que se quiere copiar
Con el nuevo modelo de compilación, es mucho más sencillo seleccionar los archivos que se quiere copiar en el servidor de destino.
Archivo seleccionado |
Rol |
*.aspx, *.ascx, *.master |
Archivos HTML, controles de usuario, páginas maestras. |
*.cs |
Archivos de código subyacente. |
Carpetas App_Code, App_Data, App_Global_Resources... |
Carpetas especiales. |
Web.config |
Archivo de configuración. |
Web.Sitemap |
Mapa del sitio. |
*.gif, *.jpg, *.htm |
Recursos estáticos del sitio, también llamados elementos de contenido. |
Carpeta bin |
Contiene los ensamblados privados referenciados mediante el archivo Web.config. |
De hecho, se tienen que copiar casi todos los archivos. Las carpetas especiales ASP.NET y los filtros IIS sobre ciertas extensiones protegen al sitio frente a la divulgación involuntaria de información o de código fuente.
Algunos...
Supervisión de aplicaciones ASP.NET
1. La infraestructura de supervision Health Monitoring
Los administradores controlan el estado de las aplicaciones en producción. Éstas emiten señales, que no siempre son errores de ejecución, sino mensajes útiles para el control de la carga, el arranque de procedimientos de alerta o de detención de aplicaciones.
La infraestructura de control del estado Health Monitoring monitoriza estas señales y las registra en distintos soportes (registros, mensajería, indicadores de rendimiento...).
a. La jerarquía de eventos web
Los eventos producidos por una aplicación web se organizan de forma jerárquica. Cada evento se implementa mediante una clase. El siguiente esquema muestra las clases básicas de esta taxonomía:
b. La jerarquía de los proveedores
Los proveedores son clases capaces de procesar eventos capturados. Según el nivel de confianza de las aplicaciones, solo son aplicables algunos proveedores:
2. Implementación en ASP.NET
El archivo Web.config declara las reglas de captura y procesamiento de eventos producidos por la aplicación ASP.NET. No se trata de eventos de componentes (como Button Click) sino señales de administración como, por ejemplo, Failure Audits (conexión bloqueada).
a. Declarar eventos
La primera etapa consiste en declarar los eventos susceptibles de ser capturados. Estos eventos...