WebSocketModule wird nicht geladen, wenn Sie WebSockets mit WCF 4.5 oder ASP.NET in IIS 8.0 verwenden
Dieser Artikel hilft Ihnen bei der Behebung des Fehlers (WebSocketModule ist nicht geladen), der auftritt, wenn das WebSocket-Protokollfeature in Microsoft-Internetinformationsdienste (IIS) 8.0 nicht aktiviert ist.
Ursprüngliche Produktversion: Internetinformationsdienste 8.0, ASP.NET auf .NET Framework 4.5.2
Ursprüngliche KB-Nummer: 2778043
Problembeschreibung
Die folgende Fehlermeldung tritt auf, wenn Sie versuchen, mit einem Windows Communication Foundation (WCF)-Dienst zu kommunizieren, der mit NetHttpBinding (für WebSockets) oder einer ASP.NET Website über das WebSockets-Protokoll konfiguriert ist, wenn er in IIS 8.0 gehostet wird:
WebSocketModule wird nicht geladen. Überprüfen Sie, ob das WebSocket-Feature installiert ist und das WebSocketModule in der Liste der IIS-Module aktiviert ist (details finden Sie https://go.microsoft.com/fwlink/?LinkId=231398 unter).
Ursache
Dieses Problem kann auftreten, wenn das WebSocket-Protokollfeature in IIS 8.0 nicht aktiviert ist.
Lösung
Um dieses Problem zu beheben, aktivieren Sie das WebSocket-Protokollfeature in IIS 8.0. Wählen Sie dazu eine der folgenden Optionen aus:
Führen Sie an einer Administrativen Eingabeaufforderung den folgenden Befehl aus:
%SystemRoot%\system32\dism.exe /online /enable-feature /featurename:IIS-WebSocketsUm das WebSocket-Protokollfeature über die Benutzeroberfläche auf Windows 8 zu aktivieren, navigieren Sie zu Systemsteuerungsprogramme, > > um Windows Features Internetinformationsdienste > > > > WebSocket-Protokoll für die Entwicklung von World Wide Web Services-Anwendungsfeatures ein- oder auszuschalten.
Um das WebSocket-Protokollfeature über die Benutzeroberfläche auf Windows Server 2012 zu aktivieren, navigieren Sie zum > > > > WebSocket-WebSocket-Protokoll(Server Roles Web Server) Web Server Application Development .
So aktivieren Sie das WebSocket-Protokollfeature mithilfe einer Startaufgabe in Azure:
Erstellen Sie eine Datei "Startup.cmd" mit dem folgenden Befehl im Clouddienstprojekt:
%SystemRoot%\system32\dism.exe /online /enable-feature /featurename:IIS-WebSocketsLegen Sie die Buildaktion auf "None" fest, und legen Sie Copy to Output Directory in dieser Datei Startup.cmd auf Copy Always fest.
Fügen Sie Folgendes in der Datei ServiceDefinition.csdef hinzu:
<Startup> <Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple"/> </Startup>