Différence entre <system.web> et <system.webServer>?

197

Chaque fois que je dois ajouter un gestionnaire ou un module pour ASP.NET avec IIS7, les instructions me disent toujours de l'incorporer dans deux sections: system.webet system.webserver.

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

Et ça:

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

Quelle est la différence entre ces deux sections?

De plus, si je ne l'ajoute pas à la system.websection, mon débogueur Visual Studio 2008 ne fonctionne pas non plus correctement.

danmine
la source
2
une meilleure référence actuelle pour cela est: msdn.microsoft.com/en-us/library/46c5ddfy.aspx
Shannon

Réponses:

157

La section system.web sert à configurer IIS 6.0, tandis que la version system.webserver est utilisée pour configurer IIS 7.0. IIS 7.0 inclut un nouveau pipeline ASP.NET et quelques différences de configuration, d'où les sections de configuration supplémentaires.

Toutefois...

Si vous exécutez IIS 7.0 en mode intégré uniquement, vous ne devriez pas avoir besoin d'ajouter les gestionnaires aux deux sections. L'ajouter à system.web est également une solution de rechange pour IIS 7.0 fonctionnant en mode classique, sauf erreur de ma part. Je n'ai pas fait de tests approfondis à ce sujet.

Voir http://msdn.microsoft.com/en-us/library/bb763179.aspx pour plus d'informations.

Chris
la source
4
Qu'en est-il des attributs comme <httpRuntime> qui sont placés dans system.web mais qui font quand même une différence sur le mode intégré IIS 7?
sclarson
38
La section system.web n'est pas remplacée par la section system.webserver, juste étendue.
Chris
Sur IIS 8.5, j'ai constaté que le httpCookiesparamètre n'est pas disponible dans system.webServer mais fonctionne si je crée un system.web et que je le mets dedans.
Eborbob
44

Le premier est pour le mode classique.

Ce dernier est pour le mode Pipeline intégré (disponible dans IIS7 +).

leppie
la source
Compte tenu de mon expérience, est-ce une meilleure réponse en termes de longueur, de clarté et de réalité. En plus du mode classique sur le premier, ajoutez IIS express et d'autres serveurs qui ne sont pas IIS 7.
Ben Gripka