Compartir a través de


Cómo: Configurar la sección <system.webServer> para IIS 7.0

Actualización: noviembre 2007

La sección system.webServer del archivo Web.config especifica los valores de IIS 7.0 que se aplican a la aplicación web. system.WebServer es un elemento secundario de la sección configuration. Para obtener más información, vea IIS 7.0: system.webServer Section Group (IIS Settings Schema) (en inglés).

Algunos ejemplos de las opciones de servidor web que puede establecer en el grupo de configuración system.WebServer son los siguientes:

  • El documento predeterminado que el servidor web devuelve a un cliente cuando la solicitud no incluye un recurso concreto (elemento defaultDocument).

  • Los valores de compresión para las respuestas (elemento httpCompression).

  • Encabezados personalizados (elemento customHeaders de la sección httpProtocol).

  • Módulos (elemento modules).

  • Controladores (elemento handlers).

Algunas opciones de la sección system.webServer sólo se aplican al modo integrado de IIS 7.0 y no al modo clásico. En concreto, los módulos de código administrado y los controladores especificados en la sección system.WebServer del archivo Web.config se omiten si la aplicación se ejecuta en modo clásico. En su lugar, los módulos de código administrado y los controladores se deben definir como en versiones anteriores de IIS, en los elementos httpModules y httpHandlers de la sección system.web.

En este tema se muestran tres tareas de configuración habituales que requieren modificaciones de la sección system.webServer:

  • Agregar el archivo predeterminado que se servirá si una dirección URL de la solicitud no especifica un archivo concreto.

  • Registrar un módulo de código administrado.

  • Agregar un encabezado de respuesta personalizado.

Configurar un archivo predeterminado

IIS 7.0 sirve un archivo predeterminado cuando una dirección URL de la solicitud no especifica archivo concreto de la aplicación web.

Para configurar un archivo predeterminado

  1. Si la aplicación no tiene un archivo Web.config, cree uno en Visual Studio o con un editor de texto.

    Para obtener más información, vea Editar los archivos de configuración de ASP.NET.

  2. Si el archivo Web.config no contiene una sección system.webServer, cree una dentro del elemento configuration, tal y como se muestra en el ejemplo siguiente:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Cree un elemento defaultDocument dentro del elemento system.webServer.

  4. Cree un elemento files dentro del elemento defaultDocument.

  5. Cree un elemento add dentro del elemento files y, en el atributo value, especifique la ruta de acceso y el nombre del archivo predeterminado.

    El ejemplo siguiente muestra una sección system.webServer configurada para servir el archivo Products.aspx como archivo predeterminado.

    <configuration>
      <system.webServer>
        <defaultDocument>      <files>        <add value="Products.aspx" />      </files>    </defaultDocument>
      </system.webServer>
    </configuration>
    

Registrar un módulo de código administrado

Un módulo de código administrado se invoca en cada solicitud y permite personalizar la solicitud o la respuesta.

Para configurar un módulo de código administrado personalizado

  1. Si la aplicación no tiene un archivo Web.config, cree uno en Visual Studio o con un editor de texto.

    Para obtener más información, vea Editar los archivos de configuración de ASP.NET.

  2. Si el archivo Web.config no contiene una sección system.webServer, cree una dentro del elemento configuration, tal y como se muestra en el ejemplo siguiente:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Dentro del elemento system.webServer, cree un elemento modules.

  4. Cree un elemento add dentro del elemento modules y, en los atributos type y name, especifique el módulo personalizado.

    El nombre real y el tipo dependen del módulo que se esté agregando. En el ejemplo siguiente se muestra cómo agregar un módulo personalizado denominado CustomModule, que se implementa como el tipo Samples.CustomModule.

    <configuration>
      <system.webServer>
        <modules>      <add name="CustomModule" type="Samples.CustomModule" />    </modules>
      </system.webServer>
    </configuration>
    
  5. Agregue un atributo precondition al registro de módulos y establezca su valor en managedHandler.

    La condición previa hace que el módulo se invoque sólo para las solicitudes de recursos de aplicación ASP.NET, como archivos .aspx o los controladores administrados. Se excluyen los archivos estáticos como .htm.

    En el ejemplo siguiente se muestra el aspecto que tendrá la sección de configuración.

    <configuration>
      <system.webServer>
        <modules>
          <add name="CustomModule" type="Samples.CustomModule" 
               precondition="managedHandler" />
        </modules>
        <defaultDocument>
          <files>
            <add value="Products.aspx" />
          </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    

Configurar un encabezado de respuesta personalizado

Un encabezado de respuesta personalizado permite enviar información específica de la aplicación al explorador. Por ejemplo, se puede agregar un encabezado Content-Language para describir el idioma utilizado en el cuerpo de la página web. Para ello, se proporciona uno o varios valores de idioma y país o región como en-US (inglés de Estados Unidos) o en-GB (inglés del Reino Unido).

Para configurar un encabezado de respuesta personalizado

  1. Si la aplicación no tiene un archivo Web.config, cree uno en Visual Studio o con un editor de texto.

    Para obtener más información, vea Editar los archivos de configuración de ASP.NET.

  2. Si el archivo Web.config no contiene una sección system.webServer, cree una dentro del elemento configuration, tal y como se muestra en el ejemplo siguiente:

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. Dentro del elemento system.webServer, cree un elemento httpProtocol.

  4. Dentro del elemento httpProtocol, cree un elemento customHeaders.

  5. Cree una etiqueta add dentro del elemento customHeaders y, en los atributos value y name, especifique el encabezado personalizado.

    El nombre real y el valor dependen de la función del encabezado en la aplicación. En el ejemplo siguiente se muestra cómo agregar un encabezado personalizado denominado CustomHeader cuyo valor es CustomHeader.

    <configuration>
      <system.webServer>
        <httpProtocol>      <customHeaders>        <add name="CustomHeader" value="CustomHeader" />      <customHeaders>    </httpProtocol>
      </system.webServer>
    </configuration>
    

Vea también

Tareas

Tutorial: Configurar aplicaciones ASP.NET en IIS 7.0

Conceptos

Mover una aplicación ASP.NET de IIS 6.0 a IIS 7.0

Referencia

Elemento configuration (Esquema de configuración general)