Freigeben über


WCF-Dienstpublishing

Die Veröffentlichung von Windows Communication Foundation (WCF)-Diensten unterstützt Sie beim Übergang von der frühen Entwicklungsumgebung, die vom WCF-Diensthost und WCF-Testclient bereitgestellt wird, zur Bereitstellung der Anwendung in einer Produktionsumgebung zu Testzwecken. Bevor Sie sich für einen endgültigen Bereitstellungsplan verpflichten, können Sie die Windows Communication Foundation (WCF)-Dienstveröffentlichung verwenden, um zu überprüfen, ob Ihr WCF-Dienst ordnungsgemäß ausgeführt wird und bereit ist, veröffentlicht zu werden. Sie können auch Ihre WCF-Dienstbibliotheken zu verschiedenen Zielorten zum Testen bereitzustellen.

Unterstützte Dienste und Zielorte

Die WCF-Dienstveröffentlichung unterstützt die Veröffentlichung von WCF-Diensten, die aus der Reihe von WCF-Dienstbibliotheksvorlagen erstellt wurden, und deren entsprechenden Elementvorlagen, die Folgendes umfassen:

  • WCF-Dienstbibliotheksvorlage mit Elementvorlage

  • Syndication-Dienstbibliothek

Sie finden diese Dienstvorlagen, indem Sie Datei>Neues Projekt> [Visual Basic oder Visual C#] >WCF auswählen. Für andere WCF-Vorlagen an diesem Speicherort (einschließlich WCF-Workflowdienstanwendung und WCF-Dienstanwendung) können Sie die One-Click-Veröffentlichung für Webanwendungen nutzen.

Der Dienst kann an den folgenden Zielorten veröffentlicht werden.

  • Lokale IIS

  • Dateisystem:

  • FTP-Site.

Verwenden des WCF-Dienstpublishings

Führen Sie die folgenden Schritte aus, um eine Dienstimplementierung bereitzustellen:

  1. Öffnen Sie Visual Studio mit erhöhten Rechten (klicken Sie mit der rechten Maustaste auf die ausführbare Datei, und wählen Sie "Als Administrator ausführen " aus, um sie zu öffnen). Wenn Sie IIS 7.0 oder höher verwenden, stellen Sie sicher, dass Sie die Komponente "IIS-Metabasis- und IIS6-Konfigurationskompatibilität" mithilfe von "Windows-Features aktivieren oder deaktivieren" in der Systemsteuerung installiert haben.

  2. Öffnen Sie ein Dienstprojekt, wählen Sie Build>Veröffentlichen <Projektnamen> im Hauptmenü aus, oder klicken Sie im Solution Explorer mit der rechten Maustaste auf das Projekt, und klicken Sie auf "Veröffentlichen".

  3. Das Fenster " Veröffentlichen " wird angezeigt. Klicken Sie auf die Auslassungspunkte .... um den Zielort anzugeben, an dem der Dienst bereitgestellt werden soll. Sie können die Anwendung für lokale IIS-, Dateisystem- oder FTP-Standorte bereitstellen. Wenn Sie die Anwendung in lokalem IIS bereitstellen, können Sie Ihre Website auswählen und ihre Webanwendung darin erstellen, indem Sie oben rechts auf das Symbol " Neue Webanwendung erstellen " klicken.

  4. Nachdem Sie im Hauptfenster auf "Veröffentlichen" geklickt haben, stellt Visual Studio die Anwendung am angegebenen Zielspeicherort bereit und kopiert die Web.config-, SVC- und Assemblydateien in das Zielverzeichnis. . Der Name von .svc lautet "ProjectName.ServiceName.svc". Nachdem der Dienst erfolgreich veröffentlicht wurde, können Sie im Visual Studio-Ausgabefenster einen Hotlink finden, der ähnlich wie "Herstellen einer Verbindung http://localhost/WebApplicationFolderName...mit" aussieht. Sie können STRG drücken und auf den Link klicken, um eine Browserseite in Visual Studio zu öffnen, um die Dienstverzeichnisstruktur anzuzeigen.

    Wenn Sie nicht zur Website navigieren können, liegt dies möglicherweise daran, dass der Verzeichnisbrowser in IIS nicht aktiviert ist. Bitte folgen Sie den Tipps im Abschnitt "Dinge, die Sie ausprobieren können", um sie zu aktivieren. Alternativ können Sie direkt eingeben http://localhost/WebApplicationFolderName/ProjectName.ServiceName.svc , um Ihre Dienstseite anzuzeigen.

Sie können "Publish" verwenden, um anzugeben, ob Sie die Assembly-, Konfigurations- und SVC-Datei für alle im Projekt definierten Dienste an den Zielspeicherort kopieren und vorhandene Dateien am Zielort überschreiben möchten.

Wenn Sie ihre Anwendung in lokalem IIS bereitstellen möchten, treten möglicherweise Fehler im Zusammenhang mit der IIS-Einrichtung auf. Stellen Sie sicher, dass IIS ordnungsgemäß installiert ist. Sie können die Adressleiste Ihres Browsers eingeben http://localhost und überprüfen, ob die IIS-Standardseite angezeigt wird. In einigen Fällen können die Probleme auch durch eine fehlerhafte Registrierung von ASP.NET oder WCF in IIS verursacht werden. Sie können die Entwickler-Eingabeaufforderung für Visual Studio öffnen und den Befehl aspnet_regiis.exe -ir ausführen, um ASP.NET Registrierungsprobleme zu beheben, oder Befehl ServiceModelReg.exe –ia ausführen, um WCF-Registrierungsprobleme zu beheben.

Für die Veröffentlichung generierte Dateien

Bevor eine WCF-Dienstbibliothek webgehostt werden kann, werden die folgenden Dateien vom Tool generiert: Assemblydateien, Web.config Datei und SVC-Datei. Alle Dateien werden an den Zielspeicherort kopiert. Der Dienst wird dann veröffentlicht.

Assemblydateien

Wenn Sie einen WCF-Dienst mit diesem Tool veröffentlichen, wird der Dienst automatisch zuerst erstellt, und die Assemblydateien werden nach dem Erstellen im Dienstprojekt generiert.

. SVC-Datei

Der Veröffentlichungsvorgang generiert eine *.svc-Datei für jeden WCF-Dienst, unabhängig davon, ob die Datei vorhanden ist oder nicht, um die Versionsgültigkeit sicherzustellen. Es gibt zwei verschiedene Arten von svc-Dateien: eine für die WCF-Dienstbibliothek und die Syndication-Dienstbibliothek, und eine weitere für die Sequenzielle und Zustandsmaschinen-Workflowdienstbibliothek. Die generierte *.svc-Datei wird in den Stammordner am Zielspeicherort kopiert.

Web.config-Datei

Bei jeder Veröffentlichung eines Dienstprojekts an einem bestimmten Zielort wird eine Web.config-Datei erstellt.

Die generierte Web.config Datei enthält Webabschnitte, die für das Webhosting nützlich sind, und den Inhalt von App.config für die WCF-Dienstbibliothek mit den folgenden Änderungen:

  • Die Basisadresse wird ausgeschlossen.

  • Einstellungen im <diagnostics> Element werden ausgeschlossen, um die Nachverfolgungseinstellungen der Zielplattform zu erhalten.

Veröffentlichen von WCF-Diensten mit NICHT-HTTP-Bindungen in IIS

Wenn Sie IIS7.0 oder höher verwenden, können Sie WCF-Dienste mit NICHT-HTTP-Bindungen in IIS veröffentlichen. Sie müssen einige Vorabkonfigurationen ausführen. Weitere Informationen finden Sie in den Themen unter Hosting im Windows-Prozessaktivierungsdienst.

Sicherheit

Für die Veröffentlichung in lokalen IIS sind Administratorrechte erforderlich, da IIS im Administratorkonto ausgeführt werden muss. Wenn ein Benutzer ohne Administratorberechtigung wcf Service Publishing öffnet, ist IIS nicht als Zielspeicherort verfügbar. Die Veröffentlichung auf dem Dateisystem oder der FTP-Website funktioniert ohne Administratorrechte.

Siehe auch