WCF-DienstpublishingWCF Service Publishing

Das Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Dienstpublishing unterstützt Sie auf Ihrem Weg von der frühen Entwicklungsumgebung, die vom WCFWCF-Diensthost und dem WCFWCF-Testclient gebildet wird, zur eigentlichen Bereitstellung der Anwendung in einer Produktionsumgebung zu Testzwecken.Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) Service Publishing assists you in progressing from the early development environment provided by WCFWCF Service Host and WCFWCF Test Client to actually deploying the application to a production environment for testing purposes. Bevor Sie sich auf einen finalen Bereitstellungsplan festlegen, können Sie mithilfe des Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Dienstpublishings sicherstellen, dass der WCFWCF-Dienst ordnungsgemäß funktioniert und für die Veröffentlichung bereit ist.Before you commit to a final deployment plan, you can use Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) Service Publishing to verify that your WCFWCF service performs correctly and is ready to be published. Auch können Sie Ihre WCFWCF-Dienstbibliotheken zu Testzwecken an einer Reihe von Orten bereitstellen.You can also choose to deploy your WCFWCF service libraries to various target locations for testing.

Unterstützte Dienste und ZielorteSupported Services and Target Locations

Das WCFWCF-Dienstpublishing ermöglicht das Veröffentlichen von WCFWCF-Diensten, die auf der Grundlage der WCFWCF-Dienstbibliotheksvorlagen erstellt wurden, sowie der entsprechenden Elementvorlagen. Hierzu zählen unter anderem Folgende:WCFWCF Service Publishing supports publishing WCFWCF services created from the set of WCFWCF service library templates, and their corresponding item templates, which include the following:

  • WCFWCF-Dienstbibliotheksvorlage mit Elementvorlage Service Library template with item template.

  • Syndication-DienstbibliothekSyndication Service Library.

Sie können diese Dienstvorlagen durch Auswahl Datei -> neues Projekt -> Visual Basic oder Visual C#- -> WCF.You can find these service templates by choosing File -> New Project -> Visual Basic or Visual C# -> WCF. Für die anderen WCF-Vorlagen an diesem Speicherort (einschließlich WCF-Workflowdienstanwendung und WCF-Dienstanwendung) können Veröffentlichung unter Verwendung von One-Click-Veröffentlichung für Webanwendungen.For other WCF templates in this location (including WCF Workflow Service Application and WCF Service Application) you can publish using One-Click publishing for web applications.

Der Dienst kann an den folgenden Zielorten veröffentlicht werden:The service can be published to the following target locations.

  • Lokale IISLocal IIS.

  • DateisystemFile System.

  • FTP-SiteFTP Site.

Verwenden des WCF-DienstpublishingsUsing WCF Service Publishing

Führen Sie zum Bereitstellen einer Dienstimplementierung die folgenden Schritte aus:Perform the following steps to deploy a service implementation:

  1. Öffnen Sie Visual Studio mit erweiterten Berechtigungen (mit der rechten Maustaste in der ausführbare das und verwenden Sie "Als Administrator ausführen", um ihn zu starten).Open Visual Studio with elevated privilege ( right-click the executable and use "Run as Administrator" to launch it). Wenn Sie mit IIS 7.0 oder höher, stellen Sie sicher, dass Sie die Komponente "IIS-Metabasis und IIS 6-Konfigurationskompatibilität" mit installiert ist "" Windows-Funktionen ein- oder ausschalten "in der Systemsteuerung.If you are using IIS 7.0 or later, ensure that you have installed the "IIS Metabase and IIS6 Configuration Compatibility" component using "'Turn Windows features on or off" in Control Panel.

  2. Öffnen Sie ein Dienstprojekt, wählen Sie erstellen->veröffentlichen <Projektname > über das Hauptmenü oder mit der rechten Maustaste des Projekts im Projektmappen-Explorer, und klicken Sie auf veröffentlichen.Open a service project, select Build->Publish <Project Name> from the main menu, or right-click the project in Solution Explorer and click Publish.

  3. Die veröffentlichen Fenster wird angezeigt.The Publish window appears. Klicken Sie auf der ... .Click the . um den Zielort anzugeben, an dem der Dienst bereitgestellt werden soll.button to specify the target location that the service should be deployed to. Sie können auswählen, um die Anwendung auf lokale IIS, Dateisystem oder FTP-Site bereitzustellen.You can select to deploy the application to local IIS, File System, or FTP Site. Wenn die Anwendung für IIS lokal bereitstellen, können Sie Ihre Website auswählen und erstellen Sie Ihre Webanwendung, indem Sie auf die neue Webanwendung erstellen Symbol auf der oberen rechten Ecke.If deploying the application to local IIS, you can select your website and create your web application under it, by clicking the Create New Web Application icon at the top right corner.

  4. Nachdem Sie auf veröffentlichen im Hauptfenster von Visual Studio stellt die Anwendung am angegebenen Zielort bereit, und die Dateien "Web.config", SVC-Datei und Assembly in das Zielverzeichnis kopiert.After you click Publish in the main window, Visual Studio deploys the application to the specified target location and copies the Web.config, .svc, and assembly files to the target directory. sein.. Der Name der SVC werden die "Datei lautet ProjectName.ServiceName.svc".The name of .svc will be "ProjectName.ServiceName.svc". Nachdem der Dienst erfolgreich veröffentlicht wurde, finden Sie in der Visual Studio-Ausgabefenster einen Hotlink, die "Verbinden mit http://localhost/WebApplicationFolderName zu HYPERLINK"http://localhost/WebApplicationFolderName"" ähnelt.After the service is published successfully, you can find a hotlink in the Visual Studio Output window, which looks similar to "Connecting to HYPERLINK "http://localhost/WebApplicationFolderName" http://localhost/WebApplicationFolderName ...". Sie können STRG gedrückt halten und auf den Link klicken, um in Visual Studio eine Browserseite zu öffnen, in der die Dienstverzeichnisstruktur angezeigt wird.You can press CTRL and click the link to open a browser page inside Visual Studio to view the service directory structure.

    Wenn die Website nicht geöffnet werden kann, liegt dies möglicherweise daran, dass der Verzeichnisbrowser in IIS nicht aktiviert ist.If you cannot browse to the site, it may because directory browser is not enabled in IIS. Befolgen Sie die Tipps im Abschnitt "Mögliche Vorgehensweise", um ihn zu aktivieren.Please follow the tips in the "Things you can try" section to enable it. Sie können auch direkt eingeben"HYPERLINK"http://localhost/WebApplicationFolderName"http://localhost/WebApplicationFolderName/ProjectName.ServiceName.svc" um die Dienstseite anzuzeigen.Alternatively, you can directly type" HYPERLINK "http://localhost/WebApplicationFolderName" http://localhost/WebApplicationFolderName/ProjectName.ServiceName.svc" to view your service page.

Sie können veröffentlichen angeben, wenn die Assembly, die Konfiguration und die SVC-Datei für alle Dienste, die definiert, die im Projekt an den Zielspeicherort kopiert werden soll, und überschreiben vorhandene Dateien am Ziel.You can use Publish to specify if you want to copy the assembly, configuration, and .svc file for all services defined in the project to the target location, and overwrite existing files at the destination.

Wenn Sie die Anwendung lokal für IIS bereitgestellt haben, treten möglicherweise Fehler in Bezug auf das IIS-Setup auf.If you choose to deploy your application to local IIS, you may encounter errors related to IIS setup. Stellen Sie sicher, dass IIS ordnungsgemäß installiert ist.Please ensure that IIS is installed properly. Sie können Geben Sie "HYPERLINK"http://localhost"http://localhost" in Ihrem Browser und überprüfen Sie, ob die IIS-Standardseite angezeigt wird.You can type " HYPERLINK "http://localhost" http://localhost" in your browser and check whether the IIS default page is showing up. In einigen Fällen können die Probleme auch durch eine fehlerhafte Registrierung von ASP.NET oder WCFWCF in IIS verursacht werden.In some cases, the issues may also be caused by ASP.NET or WCFWCF improper registration in IIS. Öffnen die Visual Studio-Eingabeaufforderung können und führen den Befehl "aspnet_regiis.exe - Ir", um ASP.NET-Registrierungsprobleme zu beheben oder Befehl "ServiceModelReg.exe – ia" zum Beheben von WCF-Registrierungsprobleme ausführen.You can open the Visual Studio Command Prompt and run the command "aspnet_regiis.exe -ir" to fix ASP.NET registration issues, or run command "ServiceModelReg.exe –ia" to fix WCF registration issues.

Generierte Dateien für die VeröffentlichungFiles Generated for Publishing

Damit eine WCFWCF-Dienstbibliothek im Internet gehostet werden kann, müssen die folgenden Dateien durch das Tool erstellt werden: Assemblydateien, Web.config-Datei und SVC-Datei.Before a WCFWCF service library can be Web-hosted, the following files are generated by the tool: assembly files, Web.config file, and .svc file. Alle Dateien werden an den Zielort kopiert.All the files are copied to the target location. Anschließend wird der Dienst veröffentlicht.The service is then published.

AssemblydateienAssembly files

Wenn Sie einen WCFWCF-Dienst mithilfe dieses Tools veröffentlichen, wird automatisch zunächst der Dienst erstellt; die Assemblydateien werden erst nach der Erstellung im Dienstprojekt generiert.When you publish a WCFWCF service using this tool, the service is automatically built first and the assembly files are generated in the service project after building.

SVC-Datei.SVC File

Durch den Veröffentlichungsvorgang wird für jeden WCFWCF-Dienst eine SVC-Datei generiert. Aus Gründen der Versionsgültigkeit spielt es dabei keine Rolle, ob die Datei bereits vorhanden ist.The publishing operation generates a *.svc file for each WCFWCF service, whether the file exists or not, to ensure version validity. Zwei unterschiedliche Arten von SVC-Dateien stehen zur Verfügung: eine für die WCFWCF-Dienstbibliothek und die Syndication-Dienstbibliothek und eine weitere für die Dienstbibliotheken für den sequenziellen Workflow und den Zustandsautomatworkflow.There are two different kinds of svc files: one for WCFWCF Service Library and Syndication Service Library, and another one for Sequential and State Machine Workflow Service Library. Die generierte *SVC-Datei wird in den Stammordner am Zielort kopiert.The generated *.svc file is copied to the root folder in the target location.

Web.config-DateiWeb.config File

Bei jeder Veröffentlichung eines Dienstprojekts an einem bestimmten Zielort wird eine Web.config-Datei erstellt.Each time a service project is published to a specific target location, a Web.config file is created.

Die generierte Web.config-Datei enthält Webabschnitte für das Webhosting sowie den Inhalt von App.config für die WCFWCF-Dienstbibliothek mit folgenden Änderungen:The generated Web.config file includes Web sections that are useful for Web hosting, and the content of App.config for the WCFWCF service library with the following changes:

  • Die Basisadresse wird ausgeschlossen.The base address is excluded.

  • Einstellungen im <diagnostics>-Element werden übersprungen, um die Ablaufverfolgungseinstellungen der Zielplattform beizubehalten.Settings in the <diagnostics> element are excluded to preserve the tracing settings of the target platform.

Veröffentlichen von WCF-Diensten mit Nicht-HTTP-Bindungen in IISPublishing WCF services with non-HTTP Bindings to IIS

Wenn Sie IIS 7.0 oder höher verwenden, können Sie WCFWCF-Dienste mit Nicht-HTTP-Bindungen in IIS veröffentlichen.If you are using IIS7.0 or later, you can publish WCFWCF services with non-HTTP bindings to IIS. Hierfür müssen einige vorbereitende Konfigurationsschritte ausgeführt werden.You need to do some pre-configurations. Weitere Informationen finden Sie unter den Themen zur Hosten in Windows Process Activation Service.For more information, please see the topics at Hosting in Windows Process Activation Service.

SicherheitSecurity

Für eine lokale Veröffentlichung in IIS sind Administratorberechtigungen erforderlich, da IIS unter einem Administratorkonto ausgeführt werden muss.Publishing to local IIS requires administrator privilege, because IIS requires running in Administrator account. Wird das WCFWCF-Dienstpublishing von einem Benutzer ohne Administratorberechtigungen geöffnet, sind die IIS nicht als Zielort verfügbar.If a user without administrator privilege opens WCFWCF Service Publishing, IIS is not available as a target location. Die Publishing Dateisystem oder FTP-Site ist ohne Administratorberechtigungen möglich.Publishing to File System, or FTP Site works without administrator privilege.

Siehe auchSee Also

WCF Visual Studio-VorlagenWCF Visual Studio Templates
WCF-Diensthost (WcfSvcHost.exe)WCF Service Host (WcfSvcHost.exe)
WCF-Testclient (WcfTestClient.exe)WCF Test Client (WcfTestClient.exe)