Gewusst wie: Konfigurieren einer HTTP-Handlererweiterung in IIS
Aktualisiert: November 2007
Standardmäßig übergeben Internetinformationsdienste (IIS) nur Anforderungen für bestimmte Dateitypen zur Verarbeitung an ASP.NET. Dateien mit den Dateinamenerweiterungen .aspx, .asmx und .ashx sind der ASP.NET-ISAPI-Erweiterung (Aspnet_isapi.dll) bereits zugeordnet. Dies gilt für IIS 6.0, für IIS 7.0 im klassischen Modus und für verwaltete Handler in IIS 7.0, die im integrierten Modus ausgeführt werden.
Damit andere Dateinamenerweiterungen von IIS an ASP.NET übergeben werden, müssen die Erweiterungen in IIS registriert werden. Weitere Informationen über die Verwendung von Handlern im Lebenszyklus von Anwendungen finden Sie unter Übersicht über den Lebenszyklus von ASP.NET-Anwendungen für IIS 5.0 und 6.0 oder Übersicht über den Lebenszyklus von ASP.NET-Anwendungen für IIS 7.0.
So ordnen Sie eine Dateinamenerweiterung in IIS 6.0 zu
Öffnen Sie IIS-Manager.
Erweitern Sie den Knoten für den Webservercomputer. Erweitern Sie Websites und anschließend Standardwebsite.
Klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, und klicken Sie anschließend auf Eigenschaften.
Hinweis: Weitere Informationen zum Erstellen einer ASP.NET-Anwendung finden Sie unter Gewusst wie: Erstellen und Konfigurieren von lokalen ASP.NET-Websites in IIS 6.0.
Klicken Sie auf die Registerkarte Virtuelles Verzeichnis, und klicken Sie dann auf Konfiguration.
Klicken auf der Registerkarte Zuordnungen auf Hinzufügen.
Es wird das Dialogfeld Hinzufügen/Bearbeiten der Zuordnung von Anwendungserweiterungen angezeigt.
Geben Sie im Feld Ausführbare Datei den Dateinamen Aspnet_isapi.dll ein oder navigieren Sie zu dieser Datei. Standardmäßig befindet sich die Datei am folgenden Speicherort:
%windows%\Microsoft.NET\Framework\version\
Hinweis: Sie können den vollständigen Pfad und Dateinamen aus anderen Zuordnungen abrufen, z. B. aus der Zuordnung zu ASPX-Dateien.
Geben Sie im Feld Erweiterung die Dateinamenerweiterung ein, z. B. .sample.
Hinweis: Der Punkt (.) muss als Teil der Dateinamenerweiterung angegeben werden.
Aktivieren Sie das Kontrollkästchen Verifizieren, dass Datei existiert entsprechend der Funktion der Dateinamenerweiterung in der Anwendung. Wählen Sie folgende Optionen aus:
True. Die Dateinamenerweiterung stellt eine physische Datei in der Anwendung dar. In diesem Fall wird von IIS ein Fehler angezeigt, wenn die angeforderte Datei auf dem Datenträger nicht vorhanden ist.
False. Die Dateinamenerweiterung stellt keine physische Datei dar. Stattdessen wird die Erweiterung dynamisch von einer Klasse behandelt, die der Erweiterung in ASP.NET zugeordnet wird.
Klicken Sie auf OK, und schließen Sie den IIS-Manager.
So ordnen Sie eine Dateinamenerweiterung in IIS 7.0 zu, das im klassischen Modus ausgeführt wird
Öffnen Sie IIS-Manager.
Hinweis: Wenn in und Windows Server 2008 das Feature Benutzerkontensteuerung (User Account Control, UAC) aktiviert ist, werden Sie aufgefordert, weiterhin Zugriff auf den Manager zu gewähren. Weitere Informationen finden Sie unter User Account Control Overview.
Erweitern Sie den Knoten für den lokalen Webservercomputer. Erweitern Sie Sites und anschließend Standardwebsite.
Wählen Sie den Knoten für die Anwendung aus.
Der Bereich der Ansicht Features wird angezeigt.
Doppelklicken Sie in der Ansicht Features auf Handlerzuordnungen.
Klicken Sie im Bereich Aktionen auf Skriptzuordnung hinzufügen.
Das Dialogfeld Skriptzuordnung hinzufügen wird angezeigt.
Geben Sie im Dialogfeld Skriptzuordnung hinzufügen Folgendes an:
Anforderungspfad. Der Name oder die Dateinamenerweiterung für die Zuordnung.
Ausführbare Datei. Der Pfad der EXE- oder DLL-Datei, die die Anforderung verarbeitet. Geben Sie im klassischen Modus die ASP.NET-ISAPI-Erweiterung (Aspnet_isapi.dll) an.
Name. Ein aussagekräftiger Name.
Klicken Sie auf OK, um das Dialogfeld Skriptzuordnung hinzufügen zu schließen.
Hinweis: Die Verwendung des IIS-Manager in IIS 7.0 zum Hinzufügen einer benutzerdefinierten Handlererweiterung entspricht der Registrierung einer Handlererweiterung in der Datei Web.config einer ASP.NET-Anwendung. Die Registrierung fügt ein handler-Element im Abschnitt handlers der system.webServer-Gruppe hinzu.
Öffnen Sie die Datei Web.config der Webanwendung.
Suchen Sie das httpHandlers-Element des system.web-Abschnitts, und fügen Sie einen Eintrag für die Dateinamenerweiterung hinzu.
Hinweis: Die Dateinamenerweiterung muss sowohl im httpHandlers-Element als auch im handlers-Element registriert werden.
So ordnen Sie eine Dateinamenerweiterung in IIS 7.0 zu, das im integrierten Modus ausgeführt wird
Führen Sie die Schritte 1 bis 3 des vorangegangenen Verfahrens durch.
Klicken Sie im Bereich Aktionen auf Verwalteten Handler hinzufügen.
Das Dialogfeld Verwalteten Handler hinzufügen wird angezeigt.
Geben Sie im Dialogfeld Verwalteten Handler hinzufügen Folgendes an:
Anforderungspfad. Der Dateiname oder die Dateinamenerweiterung für die Zuordnung.
Typ. Der Typname (Klassenname) des verwalteten Handlers. Wenn der Handler im Ordner App_Code der ASP.NET-Anwendung definiert wurde, wird dessen Typname in der Dropdownliste angezeigt.
Name. Ein aussagekräftiger Name.
Klicken Sie auf OK, um das Dialogfeld Verwalteten Handler hinzufügen zu schließen.
Hinweis: Die Verwendung des IIS-Manager in IIS 7.0 zum Hinzufügen einer benutzerdefinierten Handlererweiterung entspricht der Registrierung einer Handlererweiterung in der Datei Web.config.
Hinweis: Ein Handler für eine benutzerdefinierte Erweiterung im integrierten Modus von IIS 7.0 benötigt lediglich eine Registrierung im handlers-Element. Wenn die Registrierung im httpHandlers-Element ebenfalls beibehalten werden soll, erstellen Sie ein validation-Element im system.webServer-Abschnitt (sofern dies nicht bereits vorhanden ist), und legen Sie sein validateIntegratedModeConfiguration-Attribut auf false fest. Weitere Informationen finden Sie unter Gewusst wie: Unterdrücken von IIS 7.0-Registrierungswarnungen.