Información general sobre la configuración de ASP.NET

Actualización: noviembre 2007

Si utiliza las características del sistema de configuración de ASP.NET, puede configurar todas las aplicaciones ASP.NET en un servidor completo, en una única aplicación ASP.NET, o en subdirectorios de la aplicación o páginas individuales. Puede configurar características, como modos de autenticación, almacenamiento en caché de páginas, opciones del compilador, errores personalizados, opciones de depuración y seguimiento, etc.

En las secciones siguientes se describen las características del sistema de configuración de ASP.NET.

Para obtener información sobre cómo configurar las aplicaciones cliente de .NET Framework, vea Configurar aplicaciones.

Nota:

Las características del sistema de configuración de ASP.NET sólo se aplican a los recursos de ASP.NET. Por ejemplo, la autenticación mediante formularios sólo restringe el acceso a los archivos de ASP.NET, pero no a los archivos estáticos ni a los archivos ASP (clásicos), a menos que dichos recursos estén asignados a extensiones de nombre de archivo de ASP.NET. Utilice las características de configuración de Internet Information Services (IIS) para configurar los recursos que no son de ASP.NET. Para obtener información, vea Working with the IIS Metabase y IIS Metabase Property Reference.

Archivos de configuración

Los datos de configuración de ASP.NET se almacenan en archivos de texto XML cuya denominación es Web.config. Los archivos Web.config pueden aparecer en varios directorios de las aplicaciones ASP.NET. Estos archivos permiten editar fácilmente los datos de configuración antes, durante o después de que las aplicaciones se implementen en el servidor. Puede crear y editar archivos de configuración de ASP.NET utilizando editores de texto estándar, el complemento MMC de ASP.NET, la herramienta Administración de sitios Web o la API de configuración de ASP.NET.

Los archivos de configuración de ASP.NET mantienen los valores de configuración de la aplicación separados del código de aplicación. El hecho de mantener los datos de configuración separados del código facilita los proceso de asociar valores a aplicaciones, cambiar valores cuando sea necesario después de implementar una aplicación, y ampliar el esquema de configuración.

Para obtener más información sobre cómo se organizan los datos en los archivos de configuración de ASP.NET, vea Archivos de configuración de ASP.NET. Los valores de configuración disponibles se describen en Opciones de configuración de ASP.NET.

Herencia y jerarquía de los archivos de configuración

Cada archivo Web.config aplica los valores de configuración al directorio en que está ubicado y a todos los directorios secundarios situados debajo de él. Los valores de configuración de los directorios secundarios se pueden reemplazar opcionalmente, o se pueden modificar los valores de configuración especificados en los directorios primarios. Los valores de configuración de un archivo Web.config se pueden aplicar opcionalmente a subdirectorios o archivos individuales especificando una ruta de acceso en un elemento location.

La raíz de la jerarquía de configuración de ASP.NET es el archivo raízDelSistema\Microsoft.NET\Framework\versión\CONFIG\Web.config, que incluye los valores de configuración aplicables a todas las aplicaciones ASP.NET que ejecuten una versión concreta de .NET Framework. Como las aplicaciones ASP.NET heredan los valores de configuración predeterminados del archivo Web.config raíz, es necesario crear archivos Web.config sólo para los valores que reemplacen los predeterminados.

Nota:

El archivo Web.config raíz hereda algunos valores de configuración básicos del archivo Machine.config, que está ubicado en el mismo directorio. Algunos de estos valores no se pueden reemplazar en los archivos Web.config. Para obtener más información, vea Jerarquía de archivos y herencia de la configuración de ASP.NET.

En tiempo de ejecución, ASP.NET utiliza los archivos Web.config para calcular jerárquicamente una colección única de valores de configuración para cada solicitud URL de entrada. Estos valores se calculan sólo una vez y después se almacenan en memoria caché en el servidor. ASP.NET detecta cualquier cambio a los archivos de configuración y, a continuación, aplica automáticamente esos cambios a las aplicaciones afectadas, reiniciando las aplicaciones en la mayoría de los casos. Los valores de configuración jerárquica se calculan automáticamente y vuelven a almacenarse en caché cada vez que se modifica un archivo de configuración de la jerarquía. No es necesario reiniciar el servidor IIS para que los cambios se apliquen, a no ser que se modifique la sección processModel.

Para obtener más información sobre cómo funciona la jerarquía de configuración de ASP.NET, vea Jerarquía de archivos y herencia de la configuración de ASP.NET y Escenarios de configuración de ASP.NET.

Editar directamente los archivos de configuración

Puede utilizar un editor de texto o un editor XML para editar directamente los archivos de configuración. Para conocer la sintaxis correcta, vea los temas de referencia de las secciones de configuración en Opciones de configuración de ASP.NET y Opciones de configuración generales (ASP.NET). Para obtener más información, vea Editar los archivos de configuración de ASP.NET.

Elementos de configuración adicionales en el archivo Web.config de ASP.NET 3.5

El archivo Web.config de una aplicación ASP.NET que tiene por destino .NET Framework versión 3.5 contiene elementos de configuración que no se encuentran en los archivos Web.config de versiones anteriores. Este archivo Web.config ampliado también se crea cuando abre un sitio web existente y lo actualiza para apuntar a .NET Framework versión 3.5. En este caso, Visual Studio actualiza el archivo Web.config de la aplicación para incluir elementos adicionales de configuración.

En la tabla siguiente se muestran los nuevos elementos de configuración y los cambios en los elementos de configuración de versiones anteriores del .NET Framework.

Elemento de configuración

Cambia en la versión 3.5

system.codedom

(Nueva sección) Especifica cómo el modelo de objetos de documento de código (CodeDOM) de .NET Framework debería compilar en tiempo de ejecución el código fuente.

configSections

(Nueva sección) Define la sección system.web.extensions que utiliza AJAX de ASP.NET para definir la llamada a los servicios web desde el script de cliente. Para obtener más información, vea Servicios web de AJAX en ASP.NET.

assemblies

(Nueva sección en el elemento compilation ) Especifica la colección de ensamblados a los que se hace referencia cuando las páginas ASP.NET están compiladas. Los ensamblados que son nuevos en la versión 3.5 de ASP.NET están incluidos en esta sección.

namespaces

(Sección actualizada) En esta sección se especifica qué espacios de nombres se importan de forma predeterminada. Se han agregado Linq, los espacios de nombres Generic y Linq.

controls

(Sección actualizada) Esta sección registra los ensamblados que contienen controles y proporciona un prefijo para hacer referencia al control, similar a la manera que la directiva de página Directivas para las páginas Web ASP.NET registra los controles de una página individual. De forma predeterminada, esta sección registra los controles en el ensamblado Extensions. Estos incluyen el control ListView y los controles relacionados con AJAX.

system.webServer

En esta sección se reemplazan los controladores HTTP relacionados con AJAX y los módulos que se agregan en las secciones httpHandlers y httpModules. Esta sección hace que los controladores y módulos estén disponibles en IIS 7.0 cuando se ejecuta en modo integrado.

assemblyBinding

(Sección actualizada) Esta sección dirige el motor en tiempo de ejecución para utilizar el marco del AJAX de ASP.NET que forma parte de la versión 3.5 de ASP.NET, en lugar de utilizar una versión anterior del marco AJAX de ASP.NET.

Herramientas de configuración

El sistema de configuración de ASP.NET proporciona herramientas que hacen que la configuración de la aplicación sea más fácil que si se utiliza un editor de texto, porque incluyen la detección de errores.

Complemento MMC de ASP.NET

El complemento MMC (Microsoft Management Console) de ASP.NET proporciona un medio eficaz para manipular los valores de configuración de ASP.NET a todos los niveles en un servidor Web local o remoto. Este complemento utiliza la API de configuración de ASP.NET pero simplifica el proceso de editar los valores de configuración, ya que proporciona una interfaz gráfica de usuario (GUI). Además, la herramienta admite las características de la API de configuración de ASP.NET que controlan la posibilidad de que los valores puedan ser heredados por aplicaciones Web, y administran las dependencias entre los niveles de la jerarquía de configuración.

Nota:

Para utilizar el complemento MMC de ASP.NET, se debe iniciar sesión en el equipo con una cuenta que tenga privilegios administrativos.

El complemento MMC de ASP.NET aparece como una ficha ASP.NET en la hoja de propiedades de un directorio virtual.

Para obtener más información, vea Complemento MMC para ASP.NET.

Herramienta Administración de sitios Web

La herramienta Administración de sitios Web permite a los usuarios con privilegios administrativos para el sitio Web administrar los valores de configuración para ese sitio Web. Esta herramienta está diseñada para proporcionar una sencilla herramienta gráfica de edición de los valores de configuración que se utilizan con más frecuencia en sitios Web individuales. Dado que la herramienta utiliza una interfaz basada en explorador, permite cambiar los valores de configuración de sitios Web de forma remota; esto es muy útil para administrar sitios que ya estén implementados en un servidor Web de producción, tales como los sitios Web hospedados.

La herramienta Administración de sitios Web se diferencia del complemento MMC de ASP.NET en varios aspectos. Por ejemplo, el complemento MMC de ASP.NET es ideal para la configuración en el nivel de administrador porque proporciona acceso a toda la jerarquía de los archivos de configuración del servidor Web en lugar de proporcionar acceso a los valores de configuración de un único sitio Web. Además, se debe ser administrador para utilizar el complemento MMC de ASP.NET, mientras que la herramienta Administración de sitios Web sólo permite a los propietarios de sitios Web individuales configurar el archivo Web.config ubicado en el directorio raíz de los sitios para los que tienen privilegios administrativos. Finalmente, no se puede utilizar el complemento MMC de ASP.NET para administrar IIS de forma remota, pero la interfaz basada en explorador de la herramienta Administración de sitios Web permite la configuración remota en las versiones de IIS que empiezan por IIS 6.0.

La herramienta Administración de sitios Web incluye una interfaz con fichas que agrupa los valores de configuración relacionados en las fichas siguientes:

  • Una ficha Seguridad, que contiene los valores necesarios para proteger los recursos de la aplicación Web y administrar las funciones y cuentas de usuario.

  • Una ficha Perfil, que contiene los valores necesarios para administrar la forma en que el sitio Web recopila información del visitante.

  • Una ficha Aplicación, que contiene los valores necesarios para administrar los elementos de configuración que afectan a las aplicaciones ASP.NET.

  • Una ficha Proveedor, que contiene los valores necesarios para agregar, editar, eliminar, probar o asignar proveedores de la aplicación.

La herramienta Administración de sitios web se instala automáticamente con .NET Framework versión 2.0 y posterior. Para obtener información sobre cómo funciona la herramienta, vea Herramienta Administración de sitios Web en ASP.NET.

Herramientas de línea de comandos

.NET Framework incluye herramientas de línea de comandos que realizan operaciones de configuración concretas. Por ejemplo, la herramienta Aspnet_regiis.exe permite especificar qué versión de .NET Framework se aplica a la aplicación ASP.NET. Para obtener más información, vea Herramientas de .NET Framework.

API de configuración de ASP.NET

El sistema de configuración de ASP.NET proporciona una interfaz administrada completa para configurar mediante programación las aplicaciones ASP.NET sin editar directamente los archivos de configuración XML. Además, la API de configuración de ASP.NET realiza las acciones siguientes:

  • Simplifica las tareas administrativas ya que proporciona una vista integrada de los datos de todos los niveles de la jerarquía de configuración.

  • Admite tareas de implementación, como crear configuraciones y configurar varios equipos con un script.

  • Proporciona una interfaz de programación única a los desarrolladores que generan aplicaciones ASP.NET, aplicaciones de consola y scripts, herramientas de administración basadas en Web, y complementos MMC.

  • Evita que los desarrolladores y los administradores realicen opciones de configuración no válidas.

  • Permite ampliar el esquema de configuración. Es posible definir nuevos parámetros de configuración y escribir controladores de secciones de configuración para procesarlos.

  • Proporciona métodos estáticos para obtener información de configuración de la aplicación que se está ejecutando, y métodos no estáticos para obtener información de configuración de una aplicación independiente. El uso de métodos estáticos permite que la aplicación se ejecute con mayor rapidez, pero estos métodos sólo se pueden utilizar desde la aplicación en que se están obteniendo los datos de configuración.

Para obtener más información, vea API de configuración de ASP.NET.

Seguridad de configuración

El sistema de configuración de ASP.NET ayuda a proteger los archivos de configuración del acceso por parte de usuarios sin autorización. ASP.NET configura IIS para negar el acceso a los exploradores que soliciten acceso a los archivos Machine.config o Web.config. Cualquier intento por parte de un explorador de solicitar directamente un archivo de configuración provocará el mensaje de error de acceso 403 de HTTP (Prohibido).

Además, se impide que los archivos de configuración de una aplicación ASP.NET tengan acceso a los valores de configuración de otra aplicación ASP.NET, a menos que la aplicación de configuración se ejecute en el nivel de plena confianza bajo una cuenta que tenga permisos para leer el archivo de configuración en la otra aplicación.

Para obtener más información, vea Proteger la configuración de ASP.NET y Cifrar información de configuración mediante una configuración protegida.

Vea también

Tareas

Tutorial: Configurar aplicaciones ASP.NET en IIS 6.0 usando MMC

Tutorial: Configurar aplicaciones ASP.NET en IIS 7.0

Conceptos

Jerarquía de archivos y herencia de la configuración de ASP.NET

Proteger la configuración de ASP.NET

Otros recursos

API de configuración de ASP.NET

Archivos de configuración de ASP.NET

Complemento MMC para ASP.NET

Herramienta Administración de sitios Web en ASP.NET

Opciones de configuración de ASP.NET

Opciones de configuración generales (ASP.NET)

Cifrar información de configuración mediante una configuración protegida

Configuración de ASP.NET e IIS