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

Mit dem Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Diensthost (WcfSvcHost.exe) können Sie den Visual StudioVisual Studio-Debugger (F5) starten, um automatisch einen implementierten Dienst zu hosten und zu testen.Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) Service Host (WcfSvcHost.exe) allows you to launch the Visual StudioVisual Studio debugger (F5) to automatically host and test a service you have implemented. Anschließend können Sie den Dienst mit dem WCFWCF-Testclient (WcfTestClient.exe) oder Ihrem eigenen Client testen, um potenzielle Fehler zu identifizieren und zu beheben.You can then test the service using WCFWCF Test Client (WcfTestClient.exe), or your own client, to find and fix any potential errors.

WCF-DiensthostWCF Service Host

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

Wenn Sie den WCFWCF-Diensthost verwenden, können Sie einen WCFWCF-Dienst (in einem WCFWCF-Dienstbibliotheksprojekt) hosten, ohne zusätzlichen Code schreiben oder einen bestimmten Host bei der Entwicklung bereitstellen zu müssen.By using WCFWCF Service Host, you can host a WCFWCF service (in a WCFWCF service library project) without writing extra code or committing to a specific host during development.

Hinweis

Der WCFWCF-Diensthost unterstützt teilweise Vertrauenswürdigkeit nicht.WCFWCF Service Host does not support Partial Trust. Wenn Sie einen WCFWCF-Dienst in einer teilweise vertrauenswürdigen Umgebung verwenden möchten, dürfen Sie zur Erstellung des Diensts nicht die WCFWCF-Dienstbibliotheksprojektvorlage in Visual StudioVisual Studio verwenden.If you want to use a WCFWCF Service in Partial Trust, do not use the WCFWCF Service Library Project template in Visual StudioVisual Studio to build your service. Erstellen Sie stattdessen in Visual StudioVisual Studio eine neue Website, indem Sie die WCFWCF-Dienstwebsitevorlage auswählen, die den Dienst auf einem Webserver hosten kann, für den WCFWCF teilweise Vertrauenswürdigkeit unterstützt.Instead, create a New WebSite in Visual StudioVisual Studio by choosing the WCFWCF Service WebSite template, which can host the service in a WebServer on which WCFWCF Partial Trust is supported.

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

Der WCFWCF-Diensthost kann als Host für die folgenden WCFWCF-Dienstbibliotheksprojekttypen fungieren: WCFWCF-Dienstbibliothek, sequenzielle Workflowdienstbibliothek, Zustandsautomat-Workflowdienstbibliothek und Syndication-Dienstbibliothek.WCFWCF Service Host can host the following WCFWCF service library project types: WCFWCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library. WCFWCFDiensthost können auch die Dienste, die einem Dienstbibliotheksprojekt mit hinzugefügt werden können hosten die Element hinzufügen Funktionalität. Service Host can also host those services that can be added to a service library project using the Add Item functionality. Dazu gehören WCFWCF-Dienst, WF-Zustandsautomatdienst, sequenzieller WF-Dienst, XAML-WF-Zustandsautomatdienst und sequenzieller XAML-WF-Dienst.This includes WCFWCF 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

Verwenden Sie zum Hosten von Diensten in einer Produktionsumgebung nicht den WCFWCF-Diensthost, da dieser nicht für diesen Zweck konzipiert wurde.You should not use WCFWCF Service Host to host services in a production environment, as it was not engineered for this purpose. Der WCFWCF-Diensthost unterstützt nicht die Anforderungen hinsichtlich Zuverlässigkeit, Sicherheit und Verwaltung für eine solche Umgebung.WCFWCF 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. Nachdem die Entwicklung der Dienste abgeschlossen ist, sollten Sie die Dienste vom WCFWCF-Diensthost zum IIS migrieren.Once development of your services is complete, you should migrate the services from WCFWCF 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 StudioVisual 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 StudioVisual Studio, selecting Properties, then selecting the Debug tab and clicking Start Project. Diese Parameter sind nützlich bei der Konfiguration des WCFWCF-Diensthosts.These parameters are useful in configuring WCFWCF 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. Nach dem Hosten wird der WCFWCF-Testclient gestartet.This launches WCFWCF 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 WCFWCF-Dienstprojekt erstellt und zum Starten des Debuggers auf F5 gedrückt haben, beginnt der WCFWCF-Diensthost mit dem Hosten aller Dienste in Ihrem Projekt.After you create a new WCFWCF service project and press F5 to start the debugger, WCFWCF Service Host starts hosting all the services it finds in your project. Der WCFWCF-Testclient öffnet automatisch eine Liste der in der Konfigurationsdatei definierten Dienstendpunkte.WCFWCF 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 WCFWCF Testclient dient der rechten Maustaste auf das Projekt in Projektmappen-Explorer in Visual StudioVisual StudioOption Eigenschaften, und wählen Sie dann die DebuggenRegisterkarte. Klicken Sie auf Startprojekt und stellen Sie sicher, dass der Folgendes angezeigt wird der Befehlszeilenargumente (Dialogfeld).To make sure that WCFWCF Test Client is used, right-click your project in Solutions Explorer in Visual StudioVisual 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 in Visual StudioVisual StudioOption 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 StudioVisual 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"

Wenn Sie die Taste F5 drücken, um den Dienst erneut zu starten, startet der WCFWCF-Diensthost automatisch den benutzerdefinierten Client, wenn Sie den Debugger aufrufen.When you press F5 to start the service again, WCFWCF 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 verwendet werden soll WCFWCF service hosting der rechten Maustaste auf das Projekt in Projektmappen-Explorer in Visual StudioVisual StudioOption Eigenschaften, 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 WCFWCF service hosting, right-click your project in Solutions Explorer in Visual StudioVisual 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 in Visual StudioVisual StudioOption 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 StudioVisual 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 sich das erste Mal aufrufen WCFWCF -Diensthost (durch Drücken von F5 in Visual StudioVisual Studio), wird die WCF-Diensthost Fenster automatisch geöffnet wird.When you initially invoke WCFWCF Service Host (by pressing F5 inside Visual StudioVisual Studio), the WCF Service Host window automatically opens. Wenn der WCFWCF-Diensthost ausgeführt wird, wird im Benachrichtigungsbereich das Anwendungssymbol angezeigt.When WCFWCF 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

Wenn beim Hosten des Dienstes Fehler auftreten, wird das Dialogfeld WCFWCF-Diensthost mit den entsprechenden Informationen geöffnet.When errors occur during service hosting, WCFWCF 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, WCFWCF Diensthost wird heruntergefahren.When you click Exit, WCFWCF 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 den WCFWCF-Diensthost auf einem der folgenden vier Wege beenden:You can shut down WCFWCF Service Host in the following four ways:

  • Beenden Sie die Debuggen-Sitzung in Visual StudioVisual Studio.Stop the debugging session in Visual StudioVisual 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 WCFWCF Diensthost-Taskleistensymbols im systembenachrichtigungsbereich.Select Exit from context menu of WCFWCF Service Host tray icon in the system notification area.

  • Beenden Sie ggf. den WCFWCF-Testclient.Exit WCFWCF Test Client if it is being used.

Verwenden des Diensthosts ohne AdministratorberechtigungUsing Service Host without Administrator privilege

Damit auch Benutzer ohne Administratorberechtigung WCFWCF-Dienste entwickeln können, wird während der Installation von Visual StudioVisual Studio eine ACL (Access Control List) für den Namespace "http://+:8731/Design_Time_Addresses" erstellt.To enable users without administrator privilege to develop WCFWCF services, an ACL (Access Control List) is created for the namespace "http://+:8731/Design_Time_Addresses" during the installation of Visual StudioVisual 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 dieser ACL Benutzer hinzufügen, Benutzer aus der ACL entfernen oder zusätzliche Ports öffnen. Mit dieser ACL haben Benutzer die Möglichkeit, den WCFWCF-Dienst-Auto-Host ("wcfSvcHost.exe") zu verwenden, ohne dass ihnen Administratorberechtigungen zugewiesen werden müssen.Administrators can add or remove users from this ACL, or open additional ports.This ACL enables users to use the WCFWCF 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)