Vorgehensweise: Installieren und Konfigurieren von WCF-Aktivierungskomponenten
Dieses Thema beschreibt die Schritte, die erforderlich sind, um den Windows Process Activation Service (auch als WAS bekannt) unter Windows Vista einzurichten, um Windows Communication Foundation (WCF)-Dienste zu hosten, die nicht über HTTP-Netzwerkprotokolle kommunizieren. In den folgenden Abschnitten werden die für diese Konfiguration erforderlichen Schritte kurz beschrieben:
Installieren Sie die (oder bestätigen Sie die Installation der) WCF-Aktivierungskomponenten.
Konfigurieren Sie WAS, sodass Nicht-HTTP-Protokolle unterstützt werden. Mit den folgenden Schritten wird Windows Vista für die TCP-Aktivierung konfiguriert.
Nachdem Sie WAS installiert und konfiguriert haben, lesen Sie Vorgehensweise: Hosten eines WCF-Dienstes in WAS erfahren Sie, wie Sie einen WCF-Dienst erstellen, der einen Nicht-HTTP-Endpunkt bereitstellt, der WAS verwendet.
So installieren Sie die WCF-Aktivierungskomponenten für andere Protokolle als HTTP
Klicken Sie auf die Schaltfläche Start und dann auf Systemsteuerung.
Klicken Sie auf Programme und dann auf Programme und Funktionen.
Klicken Sie im Menü Aufgaben auf Windows-Funktionen ein- oder ausschalten.
Finden Sie den Knoten WinFX, wählen Sie ihn aus und erweitern Sie ihn dann.
Aktivieren Sie das Feld Nicht-HttpAktivierungskomponenten von WCF, und speichern Sie die Einstellung.
So konfigurieren Sie den WAS, sodass die TCP-Aktivierung unterstützt wird
Zur Unterstützung der net.tcp-Aktivierung muss die Standardwebsite zuerst an einen net.tcp-Port gebunden werden. Sie können hierzu das Tool Appcmd.exe verwenden, das mit dem IIS 7.0-Verwaltungstoolset installiert wird. Führen Sie in einem Eingabeaufforderungsfenster auf Administratorebene den folgenden Befehl aus.
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
Hinweis
Dieser Befehl ist eine einzelne Textzeile. Mit dem Befehl wird eine neue net.tcp-Sitebindung der Standardwebsite hinzugefügt, die TCP-Anschluss 808 mit jedem beliebigen Hostnamen überwacht.
Alle Anwendungen innerhalb einer Site nutzen zwar eine gemeinsame net.tcp-Bindung, aber jede Anwendung kann die net.tcp-Unterstützung unabhängig von den anderen Anwendungen aktivieren. Um net.tcp für die Anwendung zu aktivieren, führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster auf Administratorebene aus.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp
Hinweis
Dieser Befehl ist eine einzelne Textzeile. Dieser Befehl ermöglicht den Zugriff auf die / <WCF Application>-Anwendung sowohl über
http://localhost/<WCF Application>
als auch übernet.tcp://localhost/<WCF Application>
.Entfernen Sie die net.tcp-Sitebindung, die für dieses Beispiel hinzugefügt wurde.
Zur Vereinfachung sind die folgenden beiden Schritte in einer Batchdatei namens RemoveNetTcpSiteBinding.cmd implementiert, die sich im Beispielverzeichnis befindet.
Entfernen Sie net.tcp aus der Liste aktivierter Protokolle, indem Sie den folgenden Befehl in einem Eingabeaufforderungsfenster auf Administratorebene ausführen.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Hinweis
Dieser Befehl ist eine einzelne Textzeile.
Entfernen Sie die net.tcp-Sitebindung, indem Sie den folgenden Befehl in einem Eingabeaufforderungsfenster auf Administratorebene ausführen:
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" --bindings.[protocol='net.tcp',bindingInformation='808:*']
Hinweis
Dieser Befehl ist eine einzelne Textzeile.
So entfernen Sie net.tcp aus der Liste aktivierter Protokolle
Um net.tcp aus der Liste aktivierter Protokolle zu entfernen, führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster auf Administratorebene aus.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Hinweis
Dieser Befehl ist eine einzelne Textzeile.
So entfernen Sie die net.tcp-Bindung
Um die net.tcp-Sitebindung zu entfernen, führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster auf Administratorebene aus.
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -bindings.[protocol='net.tcp',bindingInformation='808:*']
Hinweis
Dieser Befehl ist eine einzelne Textzeile.