¿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.