Ich versuche, einen WCF-Dienst in IIS8 auf Build 8400 2012 zum Laufen zu bringen.
Bei der Installation der Webrolle war das wcf-Material (unter 3.51) nicht wie 2008 zu finden.
Bei der Installation fehlte die Zuordnung des SVC-Handlers, 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 Datei-Handler entfernt.)
Die Site verwendet die klassische Pipeline, um den Identitätswechsel zu verwenden.
Ich musste
HTTP Activation
in.NET Framework 4.5 Advanced Services
> aktivierenWCF Services
quelle
Aktivieren Sie Folgendes unter "Windows-Funktionen aktivieren oder deaktivieren".
a) .Net Framework 3.5 - WCF-HTTP-Aktivierung und Nicht-HTTP-Aktivierung
b) alle unter WCF Services
quelle
Windows 8 mit IIS8
Windows+X
Programs and Features
(erstes Element in der Liste)Turn Windows Features on or off
links.NET Framework 4.5 Advanced Services
WCF Services
HTTP Activation
quelle
Ich mache das heutzutage lieber über ein Skript
quelle
dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45
war genug für mich ...Wir haben es geschafft, den Fehler unter Windows Server 2012 zu beheben, indem wir:
Es scheint, dass die Reihenfolge der Installation die Ursache ist.
Stellen Sie außerdem sicher, dass Sie die HTTP-Aktivierung unter WCF Services installiert haben.
quelle
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 mir nicht sicher, in welcher Reihenfolge ich die folgenden Operationen ausgeführt habe, aber es sieht so aus, als ob eine / mehrere der folgenden Aktionen helfen:
Aktivieren Sie Folgendes unter "Windows-Funktionen aktivieren oder deaktivieren". A) .Net Framework 3.5 - WCF-HTTP-Aktivierung und Nicht-HTTP-Aktivierung b) Alle unter WCF-Dienste (wie in einer der Antworten auf diese Frage angegeben).
"ServiceModelReg.exe –i" im Ordner "% windir% \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \" ausgeführt
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
PC neu gestartet ... es sieht so aus, als ob bei den Aktionen ## 3 und 4 in meiner ASP.NET-Konfiguration etwas kaputt gegangen ist
Wiederholen Sie Aktion 2
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
Starten Sie den App-Pool neu.
Sequenz ist irgendwie verrückt, aber das hat mir geholfen und wird wahrscheinlich auch anderen helfen
quelle
Die Reihenfolge der Installation spielt bei der Konfiguration von IIS 8 unter Windows 8 oder Windows Server 2012 eine wichtige Rolle.
Ich hatte viele Probleme bei der Konfiguration von IIS 8, aber schließlich haben mir diese Links geholfen
quelle
Mit PowerShell können Sie die erforderliche Funktion installieren mit:
quelle
Unter Windows 10 (Client) können Sie dies auch mit skripten
Beachten Sie, dass dies ein anderer Befehl als der Server-Skus ist
quelle
Die HTTP-Aktivierungsfunktion von .NET Framework Die Windows-Prozessaktivierungsfunktion ist ebenfalls erforderlich
quelle
Das war wirklich albern für mich. Fügen Sie dies hier hinzu, da es einer der beliebtesten Threads zu SVC 404-Problemen ist.
Ich hatte in der \ Web \ Project-URL meiner Projekteinstellungen Folgendes eingefügt:
Und aus einem unbekannten Grund (nachdem ich dies tausendmal getan hatte) wurde nicht sofort festgestellt, 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 unter der .svc-Adresse erstellt, und ich habe nichts aus IIS herausgeholt. Ich konnte nicht herausfinden, wie ich nicht einmal die .svc-Datei treffen konnte.
Einfache Korrektur: Entfernen Sie einfach die Anwendung in IIS und ändern Sie die Projekt-URL.
Nach fast 20 Jahren können Sie immer noch Schüler- / Anfängerfehler machen. Hoffe das hilft jemandem.
quelle