WCF Visual Studio-Vorlagen

Visual Studio-Vorlagen für Windows Communication Foundation (WCF) sind vordefinierte Projekt- und Elementvorlagen, die Sie in Visual Studio verwenden können, um schnell WCF-Dienste und umgebende Anwendungen zu erstellen.

Verwenden der WCF-Vorlagen

WCF-Vorlagen aus Visual Studio stellen eine grundlegende Klassenstruktur zur Dienstentwicklung bereit. Diese Vorlagen stellen genau genommen die grundlegenden Definitionen für den Dienstvertrag, den Datenvertrag, die Dienstimplementierung und die Konfiguration bereit. Mit diesen Vorlagen können Sie einen einfachen Dienst mit minimaler Codeinteraktion sowie einen Baustein für komplexere Dienste erstellen.

WCF-Dienstbibliotheksprojektvorlage

Die WCF-Dienstbibliotheksprojektvorlage steht im Dialogfeld „Neues Projekt“ unter Visual C#\WCF und Visual Basic\WCF zur Verfügung.

Wenn Sie ein neues Projekt mit der WCF-Dienst-Vorlage erstellen, enthält das neue Projekt standardmäßig die folgenden drei Dateien:

  • Dienstvertragsdatei ("IService1.cs" oder "IService1.vb"). Die Dienstvertragsdatei ist eine Schnittstelle, auf die WCF-Dienstattribute angewendet wurden. Diese Datei enthält eine Definition eines einfachen Diensts, anhand derer Sie sehen können, wie Sie Ihre Dienste definieren können, sowie Parameter-basierte Vorgänge und ein Beispiel für einen einfachen Datenvertrag. Dies ist die Standarddatei, die nach dem Erstellen eines WCF-Dienstprojekts im Code-Editor angezeigt wird.

  • Dienstimplementierungsdatei (Service1.cs oder Service1.vb). Die Dienstimplementierungsdatei implementiert den in der Dienstvertragsdatei definierten Vertrag.

  • Anwendungskonfigurationsdatei (App.config). Die Konfigurationsdatei stellt die Grundelemente eines WCF-Dienstmodells mit einer sicheren HTTP-Bindung bereit. Sie enthält auch einen Endpunkt für den Dienst und aktiviert den Metadatenaustausch.

Hinweis

Visual Studio ist so konfiguriert, dass die Datei „App.config“ als Konfigurationsdatei für das Projekt erkannt wird, wenn sie mit dem WCF-Diensthost (WcfSvcHost.exe)ausgeführt wird. Dies ist die Standardkonfiguration. Wenn als Host für die Dienstbibliothek eine EXE-Datei verwendet wird, müssen Sie den Konfigurationscode in die Konfigurationsdatei der EXE-Datei verschieben, da Konfigurationsdateien für DLL-Dateien ungültig sind.

Vorlage für WCF-Dienstanwendungen

Die WCF-Vorlage für Dienstanwendungen steht im Dialogfeld „Neues Projekt“ unter Visual C#\WCF und Visual Basic\WCF zur Verfügung.

Wenn Sie ein neues Projekt mit der Vorlage für den WCF-Webanwendungsdienst erstellen, enthält das neue Projekt standardmäßig die folgenden vier Dateien:

  • Diensthostdatei ("service1.svc").

  • Dienstvertragsdatei ("IService1.cs" oder "IService1.vb").

  • Dienstimplementierungsdatei ("Service1.svc.cs" oder "Service1.svc.vb").

  • Webkonfigurationsdatei ("Web.config").

Die Vorlage erstellt automatisch eine Website, die in einem virtuellen Verzeichnis eingerichtet wird, und dient zugleich als Host für einen Dienst.

Websitevorlage für den WCF-Dienst

Die WCF-Websitevorlage steht im Dialogfeld „Neues Projekt“ unter Visual C#\Web Site\WCF-Dienst und Visual Basic\Web Site\WCF-Dienst zur Verfügung. Dadurch werden die gleichen Dateien wie durch die Vorlage für WCF-Dienstanwendungen erstellt, diese werden aber wie für eine ASP.NET-Website organisiert. Die Ordner App_Code und App_Data werden erstellt.

WCF-Dienstelementvorlage

Die WCF-Dienstelementvorlage ist eine benutzerdefinierte Vorlage, die eine schnelle Möglichkeit zum Hinzufügen von WCF-Diensten zu Ihren vorhandenen Visual Studio-Projekten bietet.

Wechseln Sie zum Projektmappen-Explorer, und klicken Sie mit der rechten Maustaste auf den Projektnamen. Zeigen Sie auf Hinzufügen, und klicken Sie auf Neues Element, um das Dialogfeld Neues Element hinzufügen zu öffnen, über das Sie diese Vorlage verwenden können.

Die Dienstschnittstelle und die Implementierungsdateien werden im Stammprojektordner abgelegt.

Die Vorlage versucht, den Konfigurationsabschnitt des neuen Diensts mit einer beliebigen vorhandenen Konfigurationsdatei zusammenzuführen, sofern es sich um kompatible Typen handelt.

Eine Diensthostdatei (service1.svc) wird auch dann erstellt, wenn das vorhandene Projekt ein Webprojekt ist.

WCF-WF-Dienstprojektvorlage und Elementvorlage.

Mit diesen Vorlagen werden WCF-Dienste erstellt, die als Host für einen Workflowdienst fungieren. Auf diesen Workflow können Sie auf die gleiche Weise zugreifen wie auf einen Webdienst. Für XAML oder imperative Programmiermodelle gibt es unterschiedliche Vorlagen. Wenn Sie die Vorlagen verwenden, können Sie einen sequenziellen Workflow oder einen Zustandsautomat-Workflow erstellen. Weitere Informationen zu diesen Workflowtypen finden Sie unter Vorgehensweise: Erstellen eines Workflows. Weitere Informationen zum Erstellen von Workflowprojekten finden Sie unter Erstellen von Legacyworkflowprojekten.

Visual Studio-Designer ist reaktionsfreudiger, wenn Workflows des Typs XOML anstelle von codebasierten Workflows verwendet werden. Der XOML-Workflow ist der Standardworkflowtyp, der erstellt werden sollte.

Vorlage für WCF/Syndication-Dienstbibliotheken

Mit dieser Vorlage können Sie den Feed im RSS- oder ATOM-Format als WCF-Dienst verfügbar machen. Weitere Informationen finden Sie unter WCF-Syndikation.

Ändern der Adresse des Feeds

Die Syndikation-Vorlage verwendet während der Ausführung einen Webbrowser. Wenn Sie mit der rechten Maustaste im Projektmappen-Explorer in Visual Studio auf das Projekt klicken, im Kontextmenü Eigenschaften auswählen und auf die Registerkarte Debuggen klicken, sehen Sie die Standardadresse der Vorlage. Der Browser versucht, den Feed an dieser Adresse zu öffnen.

Wenn Sie die Adresse Ihres Feeds ändern, müssen Sie auch die Adresse auf der Registerkarte Debuggen ändern. Andernfalls versucht der Browser, den Feed an der Standardadresse zu öffnen, was zu einem Fehler führt.

AJAX-aktivierte WCF-Dienstelementvorlage

Mit dieser Vorlage wird ein AJAX-Steuerelement als WCF-Dienst verfügbar gemacht. Weitere Informationen zu AJAX-Steuerelementen finden Sie in der Dokumentation zu AJAX-Steuerelementen.

Silverlight-aktivierte WCF-Dienstelementvorlage

Diese Vorlage erstellt einen Webdienst, der Daten für einen Silverlight-Client oder für ein Silverlight-Front-End bereitstellt. Die Vorlage kann einem Website- oder einem Webanwendungsprojekt hinzugefügt werden, um einen WCF-Dienst zu erstellen, der Dienstcode und -konfiguration für die Kommunikation mit einem Silverlight-Client umfasst. Verwenden Sie die Funktion Dienstverweis hinzufügen, um dem Client einen Clientproxy des Diensts hinzuzufügen und Daten zwischen dem Silverlight-Client und dem Silverlight-aktivierten WCF-Dienst auszutauschen.

Klicken Sie zum Aufrufen dieser Vorlage im Projektmappen-Explorer mit der rechten Maustaste auf ein Website- oder Webanwendungsprojekt, klicken Sie auf Neues Element hinzufügen, und klicken Sie anschließend auf Silverlight-aktivierter WCF-Dienst.

Hinweis

Der Silverlight-aktivierte WCF-Dienst macht einen basicHttpBinding-Endpunkt ohne aktivierte Sicherheitseinstellungen verfügbar. Deshalb können Dienstinformationen von allen Clients abgerufen werden, die eine Verbindung mit diesem Dienst herstellen. Zudem werden zwischen dem Dienst und dem Client ausgetauschte Nachrichten weder signiert noch verschlüsselt. Sichern Sie den Endpunkt nach Möglichkeit per ASP.NET-Authentifizierung, per HTTPS oder mit einem anderen Mechanismus.

Siehe auch