it-swarm.com.de

WCF auf IIS8; * .svc-Handlerzuordnung funktioniert nicht

Ich versuche, einen Wcf-Dienst in IIS8 auf Build 8400 2012 zum Laufen zu bringen.

Bei der Installation der Webrolle war das wcf-Zeug (unter 3.51) nicht mehr so ​​zu finden wie 2008.

Bei der Installation fehlte das SVC-Handler-Mapping, daher habe ich Folgendes ausgeführt:

%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i

Jetzt ist das Handler-Mapping da, aber ich bekomme immer noch:

The resource you are looking for does not have a handler associated with it.

(Ich habe den statischen Dateihandler entfernt.)

Die Site verwendet die klassische Pipeline, um Identitätswechsel zu verwenden.

262
Carl R

Genauer:

  1. Führen Sie Server Manager Aus (in der Taskleiste und im Startmenü)
  2. Wählen Sie den zu verwaltenden Server (wahrscheinlich lokaler Server)
  3. Scrollen Sie nach unten zum Abschnitt "Roles and Features".
  4. Wählen Sie "Add Role or Feature" Aus dem Dropdown-Menü "Aufgaben"
  5. Klicken Sie im Dialogfeld "Add Role or Feature Wizard" In der Liste der Seiten auf der linken Seite auf "Features".
  6. Erweitern Sie ".Net 3.5" Oder ".Net 4.5", Je nachdem, was Sie installiert haben. (Sie können zum Bildschirm "roles" zurückkehren, um ihn hinzuzufügen, wenn Sie keinen haben.
  7. Aktivieren Sie unter "WCF Services" Das Kontrollkästchen für "HTTP-Activation". Sie können auch Nicht-http-Typen hinzufügen, wenn Sie wissen, dass Sie diese benötigen (TCP, Named Pipes usw.).
  8. Klicken Sie auf die Schaltfläche "Install".
532
Brian Jimdar

Ich musste HTTP Activation In .NET Framework 4.5 Advanced Services> WCF Services Aktivieren.

Enable HTTP Activation

210
joshcomley

aktivieren Sie die folgenden Optionen, um die Windows-Funktionen zu aktivieren oder zu deaktivieren.

a) .Net Framework 3.5 - WCF HTTP-Aktivierung und Nicht-HTTP-Aktivierung

b) alles unter WCF Services

43
Dino

Windows 8 mit IIS8

  • Schlagen Windows+X
  • Wählen Programs and Features (erster Punkt auf der Liste)
  • Wählen Turn Windows Features on or off links
  • Erweitern .NET Framework 4.5 Advanced Services
  • Erweitern WCF Services
  • Aktivieren HTTP Activation
38
Simon_Weaver

Ich ziehe es heutzutage vor, dies über ein Skript zu tun

REM install the needed Windows IIS features for WCF
dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService
dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel
dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment
dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45

REM Feature Install Complete
pause
28
Jon

Wir haben den Fehler unter Windows Server 2012 folgendermaßen behoben:

  1. Entfernen aus "Assistent zum Entfernen von Rollen und Features" .NET Framework 4.5-Features/ASP.NET 4.5 und alle abhängigen Features
  2. Neuinstallation der entfernten Funktionen.

Es scheint, dass die Reihenfolge der Installation die Ursache ist.

Stellen Sie außerdem sicher, dass Sie die HTTP-Aktivierung unter den WCF-Diensten installiert haben.

10
Radu Damian

Für Windows 8-Computer gibt es keine "Server-Manager" -Anwendung (zumindest konnte ich sie nicht finden).

Obwohl ich das Problem lösen konnte. Ich bin nicht sicher, in welcher Reihenfolge ich die folgenden Operationen durchgeführt habe, aber es scheint, als ob eine oder mehrere der folgenden Aktionen hilfreich sind:

  1. Aktivieren Sie die folgenden Optionen, um die Windows-Funktionen zu aktivieren oder zu deaktivieren: a) .Net Framework 3.5 - WCF-HTTP-Aktivierung und Nicht-HTTP-Aktivierung b) alle unter WCF-Diensten (wie in einer der Antworten auf diese Frage angegeben)

  2. "ServiceModelReg.exe –i" im Ordner "% windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation \" ausgeführt

  3. Registrierte ASP.NET 2.0 über zwei Befehle (im Ordner C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727):

    aspnet_regiis -ga "NT AUTHORITY\NETWORK SERVICE" aspnet_regiis -iru

  4. PC neu gestartet ... es sieht so aus, als ob in den Aktionen ## 3 und 4 in meiner ASP.NET-Konfiguration etwas kaputt gegangen ist

  5. Aktion 2 wiederholen

  6. Installieren Sie zwei weitere Optionen unter "Programme und Funktionen": .Net Framework 4.5 Advanced Services. Ich habe beide Unteroptionen überprüft: ASP.NET 4.5 und WCF-Dienste

  7. Starten Sie den App-Pool neu.

Sequenz ist irgendwie verrückt, aber das hat mir geholfen und wird wahrscheinlich auch anderen helfen

3
Budda

Die Reihenfolge der Installation spielt bei der Konfiguration von IIS 8 unter Windows 8 oder Windows Server 2012 eine große Rolle.

Ich hatte viele Probleme mit der Konfiguration von IIS 8, aber diese Links haben mir letztendlich geholfen

2
Sunil Agarwal

mit PowerShell können Sie die erforderliche Funktion installieren mit:

Add-WindowsFeature 'NET-HTTP-Activation'
2
Owais F

Unter Windows 10 (Client) können Sie dies auch mit einem Skript ausführen

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

Beachten Sie, dass dies ein anderer Befehl als der Server-Skus ist

1
aL3891

Es handelt sich um die HTTP-Aktivierungsfunktion von .NET Framework. Die Windows-Prozessaktivierungsfunktion ist ebenfalls erforderlich

0
Max

Das war wirklich dumm für mich. Fügen Sie dies hier hinzu, da es einer der beliebtesten Threads für Probleme mit svc 404 ist.

Ich hatte in meinen Projekteinstellungen\Web\Project URL eingefügt:

http://blah.webservice.local.blahblah.com/Blah.svc

Und aus einem unbekannten Grund (der tausendmal durchgeführt wurde) wurde nicht sofort erkannt, dass der Name der .svc-Datei am Ende stand.

DOH!

Ich hatte gerade die Adresse von meinem WCF-Testclient eingefügt und sie nicht ausreichend überprüft. Im Hintergrund wurde eine IIS Anwendung an der .svc-Adresse erstellt, und ich habe nichts aus IIS herausgeholt. Ich konnte nicht herausfinden, wie ich nicht einmal die .svc erreichen konnte Datei.

Einfache Lösung: Entfernen Sie einfach die Anwendung in IIS und ändern Sie die Projekt-URL.

Nach fast 20 Jahren können Sie immer noch Fehler bei Schülern/Anfängern machen. Hoffe das hilft jemandem.

0