2009-05-13 7 views
1


Http-Module integriert in IIS 7 Verarbeitungspipeline

Q1 -IIS7 standardmäßig registriert automatisch FormsAuthenticationModule (die in root web.config Datei definiert ist), doch bedeutet der Begriff „Http-Modul integriert ist in die Verarbeitungspipeline von IIS 7 bezieht sich "nur auf Fälle, in denen dieses registrierte Modul auch für die Arbeit mit Nicht-Asp.Net-Anwendungen konfiguriert ist?

Meiner Meinung nach, wenn das Modul nicht für die Verwendung mit nicht-Asp.Net-Anwendungen konfiguriert ist, können wir nicht wirklich behaupten, dass es in die Verarbeitungspipeline von IIS 7 integriert ist, auch wenn es automatisch von IIS 7 registriert wird ?!


Q2

A) IIS7 registriert automatisch einige der in root definiert Module web.config Datei. Wenn wir (über IIS7-Manager) UrlAuthorizationModule konfigurieren (das im Stammverzeichnis web.config definiert ist und welches IIS 7 standardmäßig registriert), um auch mit nichtAsp.Net-Apps verwendet zu werden, fügt IIS7 den folgenden Eintrag ein root web.config Datei der Anwendung:

<modules> 
     <remove name="UrlAuthorization" /> 
     <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" /> 


Aber warum hat IIS 7 auch <remove name="UrlAuthorization" /> Element?


B) Ich gehe davon aus, wenn wir dann unsere Meinung ändern und dieses Modul zu verwenden, nur mit Asp.Net Anwendungen können wir sicher das folgende Element entfernen:

<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" /> 

aus der Anwendung der Wurzel web.config Datei, seit jetzt kann unsere Anwendung UrlAuthorizationModule in root web.config definiert ?!


Q3

ich IIS7 realisieren, indem Standardregister FormsAuthenticationModule definiert in root web.config Datei, aber nehmen wir an in eine enthielt eine andere FormsAuthenticationModule in web.config registrieren Root-Verzeichnis einiger Webanwendungen.

  • Ich gehe davon aus, wenn Antrag auf Web-Seite empfangen wird, zwei Instanzen von FormsAuthenticationModule werden für diese Anforderung ausgeführt werden?


thanx


EDIT:


A1.

"Integrierte" vs "klassische" Verarbeitungspipelines ist eine Eigenschaft im Anwendungspool. Es ist richtig, dass Module so eingestellt werden können, dass sie nur in "integrierten" Pipelines laufen.

Meine Frage bezog sich auf IIS 7 im integrierten Modus. Mein Buch verwendet nämlich den Begriff "Http-Modul, das in die IIS 7-Verarbeitungspipeline integriert wird" ", um eine Situation zu beschreiben, in der ein benutzerdefinierter HTTP-Handler bei IIS 7 registriert wurde (im integrierten Modus). Aber es wird nicht gesagt, ob der Begriff sich auf Situationen bezieht, in denen dieser registrierte Handler für die Arbeit mit nicht-ASP.net-Anwendungen konfiguriert ist, oder verwenden wir diesen Begriff auch, wenn der registrierte HTTP-Handler so konfiguriert ist, dass er nur mit Asp.Net-Anwendungen arbeitet?


A2. B. Ja, Sie können die Zeilen "Entfernen" und "Hinzufügen" entfernen. Dies ist, was die GUI tun wird, wenn Sie es ändern, um die Einstellungen zu übernehmen.

Aber in meinem Fall IIS 7 nicht

<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="" /> 

aus der Anwendung der Wurzel Datei web.config ,, es "managedHandler" gerade ändert den Wert von preCondition Attribut nicht entfernen zurück


A3. Ich denke, dass Sie einen Fehler erhalten werden, wenn Sie versuchen, 2 Module hinzuzufügen, die das gleiche Attribut "Name" haben. Wenn du es wirklich zweimal drin haben willst, ändere den "Namen" des zweiten.

Ich entschuldige mich, ich sollte genauer sein, aber meine Frage bezog sich auf eine Situation, wo zwei Module unterschiedliche Namen hätten.

Also in diesem Fall wird es zwei Instanzen von FormsAuthenticationModule läuft?


thanx

Antwort

1

Sie haben gerade bemerkt, dass Sie Stackoverflow verwenden. Bitte überprüfe meine letzten Antworten auf iis.net.

http://forums.iis.net/t/1157580.aspx

Eine wichtige Sache ist, dass applicationHost.config und root web.config tatsächlich unterschiedliche Bedeutung haben nach wie vor, so verwechselt werden nicht, ob ein Element in beiden Dateien angezeigt. Das hat tatsächlich unterschiedliche Bedeutungen.

+0

Dank an euch beide – SourceC

1

A1. "Integrierte" gegenüber "klassischen" Verarbeitungspipelines ist eine Eigenschaft im Anwendungspool. Es ist richtig, dass Module so eingestellt werden können, dass sie nur in "integrierten" Pipelines laufen.

A2. A. Um das Attribut "preCondition" zu ändern, musste die erste Version entfernt und erneut hinzugefügt werden.

A2. B. Ja, Sie können die Zeilen "Entfernen" und "Hinzufügen" entfernen. Dies ist, was die GUI tun wird, wenn Sie es ändern, um die Einstellungen zu übernehmen.

A3. Ich denke, dass Sie einen Fehler erhalten werden, wenn Sie versuchen, 2 Module hinzuzufügen, die das gleiche Attribut "Name" haben. Wenn du es wirklich zweimal drin haben willst, ändere den "Namen" des zweiten.

+0

David, Sie können auch meine Antworten auf iis.net Foren überprüfen, da dies wirklich ein komplizierter Fall zu studieren ist. :) –