it-swarm.com.de

Unterschied zwischen <system.web> und <system.webServer>?

Jedes Mal, wenn ich einen Handler oder ein Modul für ASP.NET mit IIS7 hinzufügen muss, werde ich in den Anweisungen aufgefordert, es in zwei Abschnitte einzubeziehen: system.web Und system.webserver.

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

Und das:

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

Was ist der Unterschied zwischen diesen beiden Abschnitten?

Außerdem funktioniert mein Visual Studio 2008-Debugger nicht ordnungsgemäß, wenn ich ihn nicht zum Abschnitt system.web Hinzufüge.

194
danmine

Der Abschnitt system.web dient zum Konfigurieren von IIS 6.0, während die Version system.webserver zum Konfigurieren von IIS 7.0 verwendet wird. IIS 7.0 enthält eine neue ASP.NET-Pipeline und einige Konfigurationsunterschiede, daher die zusätzlichen Konfigurationsabschnitte.

Jedoch...

Wenn Sie IIS 7.0 nur im integrierten Modus ausführen, müssen Sie die Handler nicht zu beiden Abschnitten hinzufügen. Das Hinzufügen zu system.web ist auch ein Fallback für IIS 7.0 im klassischen Modus, sofern ich mich nicht irre. Ich habe dies nicht ausführlich getestet.

Weitere Informationen finden Sie unter http://msdn.Microsoft.com/en-us/library/bb763179.aspx .

156
Chris

Ersteres ist für den klassischen Modus.

Letzteres gilt für den integrierten Pipeline-Modus (verfügbar in IIS7 +).

41
leppie