Freigeben über


IIS-gehosteter Dienst schlägt fehl

Wenn ein IIS-gehosteter Dienst fehlschlägt, tritt möglicherweise eines der folgenden Symptome auf:

  • Wenn Sie im Browser eine .svc-Datei aufrufen, wird die Datei nicht erkannt, und der Browser zeigt eine leere Seite, oder es wird anstatt der Hilfeseite des Diensts der Text der Datei angezeigt, wie im folgenden Beispiel.

    <%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
    
  • Wenn Sie versuchen, auf einen im Web gehosteten Dienst zuzugreifen, tritt möglicherweise die folgende Ausnahme auf.

    Unhandled Exception: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (405) Method not allowed.
    

    Dies tritt häufig auf, wenn ASP.NET nicht installiert ist oder wenn der .svc-Dateityp nicht "aspnet_isapi.dll" zugeordnet ist.
    Um diesen Fehler zu beheben, aktivieren Sie "aspnet_isapi" als Webdiensterweiterung für IIS. Sie können diese Einstellungen mithilfe von IIS-Manager anzeigen oder ändern, oder Sie führen im .NET Framework-Installationsverzeichnis aspnet_regiis –i –enable aus. Überprüfen Sie anschließend, dass ASP.NET ausgeführt wird. Platzieren Sie zu diesem Zweck eine .aspx-Datei im Verzeichnis "\inetpub\wwwroot", und überprüfen Sie, das diese über einen Browser aufgerufen werden kann.

  • Wenn Sie IIS nach der Installation von Windows Communication Foundation (WCF) installiert haben, müssen Sie den folgenden Befehl ausführen.

    "%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r
    

    Auf diese Weise werden die erforderlichen Skriptzuordnungen in IIS registriert.
    Sie müssen auch sicherstellen, dass der Dateityp ".svc" der Datei "aspnet_isapi.dll" zugeordnet ist.

So überprüfen Sie in IIS 5.1 oder 6.0, dass der Dateityp ".svc" der Datei "aspnet_isapi.dll" zugeordnet ist und von dieser verarbeitet wird

  1. Öffnen Sie in der Systemsteuerung Computerverwaltung.

  2. Erweitern Sie Dienste und Anwendungen, Internet Information Services.

  3. Klicken Sie mit der rechten Maustaste auf Websites, und wählen Sie Eigenschaften aus.

  4. Klicken Sie auf der Registerkarte Stammverzeichnis auf Konfiguration.

  5. Überprüfen Sie in der Liste der Anwendungszuordnungen, dass der Dateityp ".svc" der Datei "aspnet_isapi.dll" zugeordnet ist. Wenn die Datei nicht zugeordnet wurde:

    1. Klicken Sie auf Hinzufügen.
    2. Klicken Sie im Dialogfeld Anwendungserweiterungszuordnung hinzufügen/bearbeiten auf Durchsuchen.
    3. Navigieren Sie zu dem Ordner, der die Datei "aspnet_isapi.dll" enthält, und klicken Sie auf Öffnen.
    4. Geben Sie ".svc" als Erweiterung an.
    5. Stellen Sie sicher, dass Überprüfen, dass Datei vorhanden ist deaktiviert ist.
    6. Klicken Sie auf OK und erneut auf OK, um zum Dialogfeld Websiteeigenschaften zurückzukehren.
  6. Klicken Sie auf OK, um das Dialogfeld zu schließen.

So überprüfen Sie in IIS 7.0, dass der Dateityp ".svc" ordnungsgemäß zugeordnet ist

  1. Öffnen Sie ein Eingabeaufforderungsfenster, und geben Sie start inetmgr ein, um das MMC-Snap-In Internetinformationsdienste (IIS) zu öffnen.

  2. Erweitern Sie im linken Bereich den Knoten mit dem Computernamen, erweitern Sie den Knoten Websites, und wählen Sie die Standardwebsite aus.

  3. Doppelklicken Sie auf Handlerzuordnungen in der Featuresicht.

  4. Überprüfen Sie in der Liste der Anwendungszuordnungen, dass der Dateityp ".svc" der Datei "aspnet_isapi.dll" zugeordnet ist. Wenn die Datei nicht zugeordnet wurde:

    1. Klicken Sie auf Verwalteten Handler hinzufügen.
    2. Geben Sie unter Anforderungspfad: *.svc ein.
    3. Geben Sie in das Textfeld Typ System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ein.
    4. Geben Sie in das Textfeld Name: svc-integriert ein.
    5. Klicken Sie auf OK.
    6. Klicken Sie auf Skriptzuordnung hinzufügen.
    7. Geben Sie unter Anforderungspfad: *.svc ein.
    8. Geben Sie im Textfeld Ausführbare Datei:%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ein.
    9. Geben Sie im Textfeld Name: svc-ISAPI-2.0 ein.
    10. Stellen Sie mithilfe der Nach oben/Nach unten-Steuerelemente sicher, dass der verwaltete (svc-integrierte) Handler in der Liste vor dem aspnet_isapi (svc-ISAPI-2.0)-Handler angezeigt wird.
    11. Klicken Sie auf OK.

Siehe auch

Konzepte

Hostinganweisungen des Internetinformationsdiensts

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.