WCF-Diensthost (WcfSvcHost.exe)WCF Service Host (WcfSvcHost.exe)

Windows Communication Foundation (WCF)-Diensthost (WcfSvcHost.exe) können Sie zum Starten von Visual Studio-Debugger (F5), um automatisch hosten, und Testen Sie einen Dienst implementiert wurden.Windows Communication Foundation (WCF) Service Host (WcfSvcHost.exe) allows you to launch the Visual Studio debugger (F5) to automatically host and test a service you have implemented. Sie können dann testen Sie den Dienst mithilfe von WCF-Testclient (WcfTestClient.exe) oder Ihrem eigenen Client zum Suchen und potenzielle Fehler zu beheben.You can then test the service using WCF Test Client (WcfTestClient.exe), or your own client, to find and fix any potential errors.

WCF-DiensthostWCF Service Host

WCF-Diensthost listet die Dienste in einem WCF-Dienstprojekt, lädt die Projektkonfiguration und instanziiert einen Host für jeden gefundenen Dienst.WCF Service Host enumerates the services in a WCF service project, loads the project’s configuration, and instantiates a host for each service that it finds. Das Tool ist über die WCF-Dienstvorlage in Visual Studio integriert und wird beim Starten des Debuggen des Projekts aufgerufen.The tool is integrated into Visual Studio through the WCF Service template and is invoked when you start to debug your project.

Mithilfe von WCF-Diensthost können Sie einen WCF-Dienst (in einem WCF-Dienst-Bibliotheksprojekt) hosten, ohne zusätzlichen Code schreiben oder an einen bestimmten Host bei der Entwicklung bereitstellen.By using WCF Service Host, you can host a WCF service (in a WCF service library project) without writing extra code or committing to a specific host during development.

Hinweis

WCF-Diensthost unterstützt teilweiser Vertrauenswürdigkeit nicht.WCF Service Host does not support Partial Trust. Wenn Sie einen WCF-Dienst in einer teilweise vertrauenswürdigen verwenden möchten, verwenden Sie nicht die WCF-Dienstbibliotheksprojekt-Vorlage in Visual Studio zur Erstellung des Diensts.If you want to use a WCF Service in Partial Trust, do not use the WCF Service Library Project template in Visual Studio to build your service. Erstellen Sie stattdessen eine neue WebSite in Visual Studio durch Auswählen der Vorlage für WCF-Service-WebSite, die den Dienst auf einem WebServer hosten kann auf denen WCF teilweise Vertrauenswürdigkeit unterstützt wird.Instead, create a New WebSite in Visual Studio by choosing the WCF Service WebSite template, which can host the service in a WebServer on which WCF Partial Trust is supported.

Vom WCF-Diensthost gehostete ProjekttypenProject Types hosted by WCF Service Host

WCF-Diensthost kann die folgenden WCF-Dienst-Bibliothek Projekttypen hosten: WCF-Dienstbibliothek, sequenzielle Workflowdienstbibliothek, Zustand-Workflowdienstbibliothek und Syndication-Dienstbibliothek.WCF Service Host can host the following WCF service library project types: WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library. WCF-Diensthost können auch die Dienste, die einem Dienstbibliotheksprojekt mit hinzugefügt werden können hosten die Element hinzufügen Funktionalität.WCF Service Host can also host those services that can be added to a service library project using the Add Item functionality. Dies schließt die WCF-Dienst, WF-Zustandsautomatdienst, Sequenzieller WF-Dienst, XAML-WF-Zustandsautomatdienst und sequenzieller XAML-WF-Dienst.This includes WCF Service, WF State Machine Service, WF Sequential Service, XAML WF State Machine Service and XAML WF Sequential Service.

Beachten Sie jedoch, dass Sie mit dem Tool den Host nicht konfigurieren können.You should note, however, that the tool will not help you to configure a host. Zur Konfiguration müssen Sie die Datei App.config manuell bearbeiten.For this task, you must manually edit the App.config file. Mit dem Tool können Sie auch nicht benutzerdefinierte Konfigurationsdateien validieren.The tool also does not validate user-defined configuration files.

Achtung

Sie sollten nicht WCF-Diensthost zum Hosten von Diensten in einer produktionsumgebung verwenden, da es nicht zu diesem Zweck konzipiert wurde.You should not use WCF Service Host to host services in a production environment, as it was not engineered for this purpose. WCF-Diensthost unterstützt nicht die Zuverlässigkeit, Sicherheit und verwaltbarkeit Anforderungen von einer solchen Umgebung.WCF Service Host does not support the reliability, security, and manageability requirements of such an environment. Verwenden Sie stattdessen den IIS, da er über optimale Zuverlässigkeit und Überwachungsfunktionen verfügt und die bevorzugte Lösung für Hostdienste ist.Instead, use IIS since it provides superior reliability and monitoring features, and is the preferred solution for hosting services. Nach Abschluss der Entwicklung der Dienste sollten Sie die Dienste von WCF-Diensthosts in IIS migrieren.Once development of your services is complete, you should migrate the services from WCF Service Host to IIS.

Szenarien für die Verwendung des WCF-Diensthosts in Visual StudioScenarios for Using WCF Service Host inside Visual Studio

Die folgende Tabelle enthält alle Parameter in der Befehlszeilenargumente (Dialogfeld), das sich von der rechten Maustaste auf das Projekt in Projektmappen-Explorer in Visual Studio auswählen Eigenschaften, wählen Sie dann die Debuggen Registerkarte und dann auf Startprojekt.The following table lists all the parameters in the Command line arguments dialog box, which can be found by right-clicking your project in Solutions Explorer in Visual Studio, selecting Properties, then selecting the Debug tab and clicking Start Project. Diese Parameter sind nützlich bei der Konfiguration des WCF-Diensthost.These parameters are useful in configuring WCF Service Host.

ParameterParameter BedeutungMeaning
/client Ein optionaler Parameter, der den Pfad zu einer EXE-Datei bestimmt, die nach dem Hosten der Dienste ausgeführt werden soll.An optional parameter that specifies the path to an executable to run after the services are hosted. Dadurch wird die WCF-Testclient nach dem hosten.This launches WCF Test Client following hosting.
/clientArg Legt eine Zeichenfolge als Argument fest, das an die benutzerdefinierte Clientanwendung geleitet wird.Specify a string as an argument that is passed to the custom client application.
/? Zeigt die Hilfe an.Displays the help text.

Verwenden des WCF-TestclientsUsing WCF Test Client

Nachdem Sie ein neues Projekt für die WCF-Dienst erstellen, und drücken Sie F5, um den Debugger zu starten, startet WCF-Diensthost mit dem Hosten aller Dienste, die sie in Ihrem Projekt findet.After you create a new WCF service project and press F5 to start the debugger, WCF Service Host starts hosting all the services it finds in your project. WCF-Testclient öffnet automatisch und zeigt eine Liste der in der Konfigurationsdatei definierten Dienstendpunkte.WCF Test Client automatically opens and displays a list of service endpoints defined in the configuration file. Vom Hauptfenster aus können Sie die Parameter testen und den Dienst aufrufen.From the main window, you can test the parameters and invoke your service.

Um sicherzustellen, dass WCF-Testclient verwendet wird, Maustaste das Projekt in Projektmappen-Explorer wählen Sie in Visual Studio Eigenschaften, und wählen Sie dann die Debuggen Registerkarte. Klicken Sie auf Startprojekt und stellen Sie sicher, dass der Folgendes angezeigt wird der Befehlszeilenargumente (Dialogfeld).To make sure that WCF Test Client is used, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and ensure that the following appears in the Command line arguments dialog box.

/client:WcfTestClient.exe

Verwenden eines benutzerdefinierten ClientsUsing a Custom Client

Um eine benutzerdefinierte Clienteinstellung verwenden zu können, Maustaste das Projekt in Projektmappen-Explorer wählen Sie in Visual Studio Eigenschaften, und wählen Sie dann die Debuggen Registerkarte. Klicken Sie auf Startprojekt und Bearbeiten der /client Parameter in der Befehlszeilenargumente im Dialogfeld auf den benutzerdefinierten Client zu zeigen, wie im folgenden Beispiel gezeigt.To use a custom client, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and edit the /client parameter in the Command line arguments dialog box to point to your custom client, as indicated in the following example.

/client:"path/CustomClient.exe"

Beim Drücken von F5, um den Dienst erneut starten wird in WCF-Diensthost automatisch den benutzerdefinierten Client gestartet, wenn Sie den Debugger starten.When you press F5 to start the service again, WCF Service Host automatically starts your custom client when you launch the debugger.

Mit dem /clientArg:-Parameter können Sie auch eine Zeichenfolge als Argument festlegen, das an die benutzerdefinierte Clientanwendung geleitet wird, wie im folgenden Beispiel gezeigt.You can also use the /clientArg: parameter to specify a string as an argument that is passed to the custom client application, as indicated in the following example.

/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"

So können Sie beispielsweise bei Verwendung der Vorlage für die Syndication-Dienstbibliothek die folgenden Befehlszeilenargumente verwenden:For example, if you are using the Syndication Service Library template, you can use the following command line arguments,

/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/

Keine Angabe des ClientsSpecifying No Client

Um anzugeben, dass kein Client nach dem Hosten von WCF-Dienst verwendet wird, Maustaste das Projekt in Projektmappen-Explorer wählen Sie in Visual Studio Eigenschaften, und wählen Sie dann die Debuggen Registerkarte. Klicken Sie auf Startprojekt und lassen Sie die Befehlszeilenargumente Dialogfeld leer.To specify that no client will be used after WCF service hosting, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and leave the Command line arguments dialog box blank.

Verwenden eines benutzerdefinierten HostsUsing a Custom Host

Um einen benutzerdefinierten Host verwenden, Maustaste das Projekt in Projektmappen-Explorer wählen Sie in Visual Studio Eigenschaften, und wählen Sie dann die Debuggen Registerkarte. Klicken Sie auf externes Startprogramm und geben Sie den vollständigen Pfad zu den benutzerdefinierten Host.To use a custom host, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start External Program and enter the full path to the custom host. Sie können auch die Befehlszeilenargumente Dialogfeld Sie Argumente angeben, an den Host geleitet werden.You can also use the Command line arguments dialog box to specify arguments to be passed to the host.

WCF-Diensthost-BenutzeroberflächeWCF Service Host User Interface

Wenn Sie anfänglich aufrufen WCF-Diensthost (durch Drücken von F5 in Visual Studio), die WCF-Diensthost Fenster automatisch geöffnet wird.When you initially invoke WCF Service Host (by pressing F5 inside Visual Studio), the WCF Service Host window automatically opens. Wenn WCF-Diensthost ausgeführt wird, wird das Programm-Symbol im Infobereich angezeigt.When WCF Service Host is running, the program's icon appears in the notification area. Doppelklicken Sie auf das Symbol zum Öffnen der WCF-Diensthost FensterDouble-click the icon to open the WCF Service Host window

Auftreten von Fehlern während der Dienst gehostet wird, wird der WCF-Diensthost-Dialogfeld geöffnet, um relevante Informationen anzuzeigen.When errors occur during service hosting, WCF Service Host dialog box will open to display relevant information.

Die WCF-Diensthost im Hauptfenster umfasst zwei Menüs:The WCF Service Host main window contains two menus:

  • Datei: enthält die schließen und beenden Befehle.File: Contains the Close and Exit commands. Beim Klicken auf schließen, WCF-Diensthost Dialogfeld wird geschlossen, aber der Dienst wird weiterhin gehostet werden.When you click Close, the WCF Service Host dialog box closes, but the services continue to be hosted. Beim Klicken auf beenden, WCF-Diensthost wird heruntergefahren.When you click Exit, WCF Service Host is also shut down. Dadurch werden auch alle gehosteten Dienste gestoppt.This also stops all hosted services.

  • Hilfe: enthält die zu -Befehl, der Versionsinformationen enthält.Help: Contains the About command that contains version information. Es enthält auch die Hilfe -Befehl, der eine Hilfedatei öffnen kann.It also contains the Help command that can open a help file.

Die Main WCF-Diensthost umfasst zwei Bereiche:The main WCF Service Host window contains two areas:

  • Der erste Bereich ist Service.The first area is Service. Er enthält eine Liste mit grundlegenden Informationen zu allen Diensten.It contains a list that displays basic information of all services. Zu diesen Informationen zählen:The information includes:

    • Dienst: Listet alle Dienste.Service: Lists all the services.

    • Status: Listet den Status des Diensts.Status: Lists the status of the service. Gültige Werte sind "Gestartet", "Stopped" und "Error".Valid values are "Started", "Stopped," and "Error".

    • Metadatenadresse: Zeigt die Adresse der Metadaten der Dienste.Metadata Address: Displays the metadata address of the services.

  • Der zweite Bereich ist Zusatzinformationen.The second area is Additional Information. Eine ausführliche Erläuterung der Status des Diensts angezeigt, wenn der bestimmte Dienst Zeile, in ausgewählt ist der Service Bereich.It displays a detailed explanation of the service status when the specific service line is selected in the Service area. Wenn der Status auf Fehler gesetzt ist, können Sie am Bildschirm die vollständige Fehlermeldung anzeigen.If the status is Error, you can view the full error message on the screen.

Beenden des WCF-DiensthostesStopping WCF Service Host

Sie können WCF-Diensthost in der folgenden vier Wege Herunterfahren:You can shut down WCF Service Host in the following four ways:

  • Beenden Sie die Debugsitzung in Visual Studio.Stop the debugging session in Visual Studio.

  • Wählen Sie beenden aus der Datei im Menü der WCF-Diensthost Fenster.Select Exit from the File menu in the WCF Service Host window.

  • Wählen Sie beenden im Kontextmenü des WCF-Diensthost-Taskleistensymbols im systembenachrichtigungsbereich.Select Exit from context menu of WCF Service Host tray icon in the system notification area.

  • WCF-Testclient zu beenden, wenn sie verwendet wird.Exit WCF Test Client if it is being used.

Verwenden des Diensthosts ohne AdministratorberechtigungUsing Service Host without Administrator privilege

Damit kann Benutzer ohne Administratorberechtigung zur Entwicklung von WCF-Diensten, erstellt eine ACL (Access Control List) für den Namespace "http://+:8731/Design_Time_Addresses" während der Installation von Visual Studio.To enable users without administrator privilege to develop WCF services, an ACL (Access Control List) is created for the namespace "http://+:8731/Design_Time_Addresses" during the installation of Visual Studio. Die ACL wird auf (UI) festgelegt, wodurch alle interaktiven, am Computer angemeldeten Benutzer eingeschlossen werden.The ACL is set to (UI), which includes all interactive users logged on to the machine. Administratoren können hinzufügen oder Entfernen von Benutzern diese ACL oder zusätzliche Ports öffnen. Diese ACL kann Benutzer die WCF-Dienst-Auto-Host (wcfSvcHost.exe) zu verwenden, ohne ihnen Administratorrechte zu gewähren.Administrators can add or remove users from this ACL, or open additional ports.This ACL enables users to use the WCF Service Auto Host (wcfSvcHost.exe) without granting them administrator privileges.

Mit dem Tool netsh.exe in Windows VistaWindows Vista unter dem erweiterten Administratorkonto können Sie die Zugriffsberechtigung ändern.You can modify access using the netsh.exe tool in Windows VistaWindows Vista under the elevated administrator account. Das folgende Beispiel veranschaulicht die Verwendung des Tools netsh.exe.The following is an example of using netsh.exe.

netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>  

Weitere Informationen zu netsh.exe, finden Sie unter "wie das Netsh.exe-Tool und Befehlszeilenoptionen".For more information on netsh.exe, see "How to Use the Netsh.exe Tool and Command-Line Switches".

Siehe auchSee Also

WCF-Testclient (WcfTestClient.exe)WCF Test Client (WcfTestClient.exe)