Konfigurieren des Windows-Prozessaktivierungsdiensts zur Verwendung mit Windows Communication FoundationConfiguring the Windows Process Activation Service for Use with Windows Communication Foundation

Dieses Thema beschreibt die erforderlichen Schritte zum Einrichten von Windows Process Activation Service (auch WAS genannt) in Windows VistaWindows Vista zum Hosten von Windows Communication Foundation (WCF)-Dienste, die nicht über HTTP kommunizieren Netzwerkprotokolle.This topic describes the steps required to set up Windows Process Activation Service (also known as WAS) in Windows VistaWindows Vista to host Windows Communication Foundation (WCF) services that do not communicate over HTTP network protocols. In den folgenden Abschnitten werden die für diese Konfiguration erforderlichen Schritte kurz beschrieben:The following sections outline the steps for this configuration:

  • Installieren (oder bestätigen Sie die Installation der) die WCF-aktivierungskomponenten erforderlich.Install (or confirm the installation of) the WCF activation components required.

  • Erstellen Sie eine WAS-Site mit den Netzwerkprotokollbindungen, die Sie verwenden möchten, oder fügen Sie einer vorhandenen Site eine neue Protokollbindung hinzu.Create a WAS site with the network protocol bindings you wish to use, or add a new protocol binding to an existing site.

  • Erstellen Sie eine Anwendung, die als Host der Dienste fungieren soll, und bereiten Sie diese Anwendung auf die Verwendung der erforderlichen Netzwerkprotokolle vor.Create an application to host your services and enable that application to use the required network protocols.

  • Erstellen Sie einen WCF-Dienst, der einen nicht-HTTP-Endpunkt verfügbar macht.Build a WCF service that exposes a non-HTTP endpoint.

Konfigurieren einer Site mit Nicht-HTTP-BindungenConfiguring a Site with Non-HTTP bindings

Damit eine Nicht-HTTP-Bindung in WAS verwendet werden kann, muss die Sitebindung der WAS-Konfiguration hinzugefügt werden.To use a non-HTTP binding with WAS, the site binding must be added to the WAS configuration. Die WAS-Konfiguration wird in der Datei applicationHost.config im Verzeichnis %windir%\system32\inetsrv\config gespeichert.The configuration store for WAS is the applicationHost.config file, located in the %windir%\system32\inetsrv\config directory. Diese Konfigurationsdatei wird sowohl für WAS als auch für IIS 7.0 genutzt.This configuration store is shared by both WAS and IIS 7.0.

Bei der Datei applicationHost.config handelt es sich um eine XML-Textdatei, die mit jedem Standardtexteditor (wie Editor) geöffnet werden kann.applicationHost.config is an XML text file that can be opened with any standard text editor (such as Notepad). Das Befehlszeilenkonfigurationsprogramm von IIS 7.0IIS 7.0 (appcmd.exe) wird jedoch zum Hinzufügen von Nicht-HTTP-Sitebindungen bevorzugt.However, the IIS 7.0IIS 7.0 command-line configuration tool (appcmd.exe) is the preferred way to add non-HTTP site bindings.

Mit dem folgenden Befehl wird mit „appcmd.exe“ eine net.tcp-Sitebindung der Standardwebsite hinzugefügt (der gesamte Befehl wird in eine Zeile eingegeben).The following command adds a net.tcp site binding to the default Web site using appcmd.exe (this command is entered as a single line).

appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']  

Mit dem folgenden Befehl wird die neue net.tcp-Sitebindung der Standardwebsite hinzugefügt, indem die unten dargestellte Zeile in die Datei „applicationHost.config“ eingefügt wird.This command adds the new net.tcp binding to the default Web site by adding the line indicated below to the applicationHost.config file.

<sites>  
    <site name="Default Web Site" id="1">  
        <bindings>  
            <binding protocol="HTTP" bindingInformation="*:80:" />  
            //The following line is added by the command.  
            <binding protocol="net.tcp" bindingInformation="808:*" />  
        </bindings>  
    </site>  
</sites>  

Aktivieren der Verwendung von Nicht-HTTP-Protokollen auf AnwendungsebeneEnabling an Application to Use Non-HTTP Protocols

Sie können aktivieren oder deaktivieren einzelne Protocolsat Anwendungsebene.You can enable or disable individual network protocolsat the application level. Der folgende Befehl veranschaulicht, wie die Protokolle HTTP und net.tcp für eine Anwendung aktiviert werden, die auf der Default Web Site ausgeführt wird.The following command illustrates how to enable both the HTTP and net.tcp protocols for an application that runs in the Default Web Site.

appcmd.exe set app "Default Web Site/appOne" /enabledProtocols:net.tcp  

Die Liste der aktivierten Protokolle kann auch festgelegt werden, der <ApplicationDefaults >-Element von der Website XML-Konfiguration in "applicationHost.config" gespeichert.The list of enabled protocols can also be set in the <applicationDefaults> element of the site’s XML configuration stored in ApplicationHost.config.

Der folgende XML-Code aus applicationHost.config veranschaulicht eine Site, die sowohl an HTTP als auch an Nicht-HTTP-Protokolle gebunden ist.The following XML code from applicationHost.config illustrates a site bound to both HTTP and non-HTTP protocols. Die zusätzliche Konfiguration, die zur Unterstützung von Nicht-HTTP-Protokollen erforderlich ist, wird durch Kommentare hervorgehoben.The additional configuration required to support non-HTTP protocols is called out with comments.

<sites>  
    <site name="Default Web Site" id="1">  
    <application path="/">  
        <virtualDirectory path="/" physicalPath="D:\inetpub\wwwroot" />  
    </application>  
       <bindings>  
            //The following two lines are added by the command.  
            <binding protocol="HTTP" bindingInformation="*:80:" />  
            <binding protocol="net.tcp" bindingInformation="808:*" />  
       </bindings>  
    </site>  
    <siteDefaults>  
        <logFile   
        customLogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"  
          directory="D:\inetpub\logs\LogFiles" />  
        <traceFailedRequestsLogging   
          directory="D:\inetpub\logs\FailedReqLogFiles" />  
    </siteDefaults>  
    <applicationDefaults   
      applicationPool="DefaultAppPool"   
      //The following line is inserted by the command.  
      enabledProtocols="http, net.tcp" />  
    <virtualDirectoryDefaults allowSubDirConfig="true" />  
</sites>  

Wenn Sie versuchen, einen Dienst mithilfe von WAS zur Aktivierung von Nicht-HTTP-Protokollen zu aktivieren, und WAS nicht installiert und konfiguriert ist, erhalten Sie möglicherweise folgende Fehlermeldung:If you attempt to activate a service using WAS for Non-HTTP activation and you have not installed and configured WAS you may see the following error:

[InvalidOperationException: The protocol 'net.tcp' does not have an implementation of HostedTransportConfiguration type registered.]   System.ServiceModel.AsyncResult.End(IAsyncResult result) +15778592   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +15698937   System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +265   System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +227   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171  

Wenn dieser Fehler angezeigt wird, stellen Sie sicher, dass WAS zur Aktivierung von Nicht-HTTP-Protokollen installiert und ordnungsgemäß konfiguriert ist.If you see this error ensure WAS for Non-HTTP Activation is installed and configured properly. Weitere Informationen finden Sie unter Vorgehensweise: Installieren und Konfigurieren von WCF-Aktivierungskomponenten.For more information, see How to: Install and Configure WCF Activation Components.

Erstellen eines WCF-Diensts, der WAS zur Aktivierung von Nicht-HTTP-Protokollen verwendetBuilding a WCF Service That Uses WAS for Non-HTTP activation

Nachdem Sie die Schritte zum Installieren und konfigurieren Sie WAS ausführen (finden Sie unter Vorgehensweise: Installieren und Konfigurieren von WCF-Aktivierungskomponenten), konfigurieren einen Dienst, um WAS für die Aktivierung ist vergleichbar mit der Konfiguration eines Diensts, der gehostet wird in IIS zu verwenden.Once you perform the steps to install and configure WAS (see How to: Install and Configure WCF Activation Components), configuring a service to use WAS for activation is similar to configuring a service that is hosted in IIS.

Detaillierte Anweisungen zum Erstellen von WAS aktivierten WCF-Dienst finden Sie unter wie: Hosten eines WCF-Diensts in WAS.For detailed instructions about building a WAS-activated WCF service, see How to: Host a WCF Service in WAS.

Siehe auchSee Also

Hosting in Windows Process Activation Service (Hosten im Windows-Prozessaktivierungsdienst)Hosting in Windows Process Activation Service
Windows Server AppFabric-HostingfunktionenWindows Server App Fabric Hosting Features