¿Diferencia entre <system.web> y <system.webServer>?


197

Cada vez que tengo que agregar un controlador o módulo para ASP.NET con IIS7, las instrucciones siempre me dicen que lo incorpore en dos secciones: system.weby system.webserver.

<system.web>
    <httpHandlers>
    </httpHandlers>
    <httpModules>
    </httpModules>
</system.web>

Y esto:

<system.webServer>
    <modules>
    </modules>
    <handlers>
    </handlers>
</system.webServer>

¿Cuál es la diferencia entre estas dos secciones?

Además, si no lo agrego a la system.websección, mi depurador de Visual Studio 2008 tampoco funciona correctamente.


2
una mejor referencia actual para esto es: msdn.microsoft.com/en-us/library/46c5ddfy.aspx
— Shannon

Respuestas:


157

La sección system.web es para configurar IIS 6.0, mientras que la versión system.webserver se usa para configurar IIS 7.0. IIS 7.0 incluye una nueva tubería ASP.NET y algunas diferencias de configuración, de ahí las secciones de configuración adicionales.

Sin embargo...

Si está ejecutando IIS 7.0 solo en modo integrado, no debería necesitar agregar los controladores a ambas secciones. Agregarlo a system.web también es una alternativa para IIS 7.0 que funciona en modo clásico, a menos que me equivoque. No he hecho pruebas exhaustivas sobre esto.

Consulte http://msdn.microsoft.com/en-us/library/bb763179.aspx para obtener más información.


44
¿Qué pasa con los atributos como <httpRuntime> que se colocan en system.web pero que aún marcan la diferencia en el modo integrado de IIS 7?
— sclarson

38
La sección system.web no es reemplazada por la sección system.webserver, solo extendida.
— Chris

En IIS 8.5 descubrí que la httpCookiesconfiguración no está disponible en system.webServer pero funciona si creo un system.web y lo pongo allí.
— Eborbob

44

El primero es para el modo clásico.

Este último es para el modo de canalización integrado (disponible en IIS7 +).


Dada mi experiencia, es una mejor respuesta en longitud, claridad y realidad. Además del modo clásico en el primero, agregue IIS express y otros servidores que no sean IIS 7.
— Ben Gripka
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.