2008-12-10 6 views
178

Chaque fois que je dois ajouter un gestionnaire ou un module pour ASP.NET w/IIS7, les instructions me disent toujours de le mettre en deux endroits, le system.web et le system.webserver.Quelle est la différence entre <system.web> et <system.webServer>?

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

Et ceci:

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

Quelle est la différence entre les deux?
Ajouté: Si je ne l'ajoute pas à mon système.web, mon débogueur VS 2008 ne fonctionne pas non plus correctement.

+2

une meilleure référence actuelle en est: http://msdn.microsoft.com/en-us/library/46c5ddfy.aspx – Shannon

Répondre

145

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.

Mais ...

Si vous utilisez 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 repli pour IIS 7.0 fonctionnant en mode classique, à moins que je me trompe. Je n'ai pas fait de tests approfondis à ce sujet.

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

+3

Qu'en est-attributes comme qui sont placés dans system.web mais toujours faire une différence sur IIS 7 Mode intégré? – sclarson

+35

La section system.web n'est pas remplacée par la section system.webserver, juste agrandie. – Chris

+0

Sur IIS 8.5, j'ai trouvé que le paramètre 'httpCookies' n'est pas disponible dans system.webServer mais fonctionne si je crée un system.web et le mets dedans. – Eborbob

35

Le premier est pour le mode classique.

Ce dernier est pour le mode pipeline intégré (disponible en IIS7 +).

+0

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, ajouter IIS Express et d'autres serveurs qui ne sont pas IIS 7. –

Questions connexes