Gewusst wie: Definieren eines Windows Communication Foundation-Dienstvertrags

Dies ist die erste von sechs Aufgaben, die zum Erstellen eines grundlegenden Windows Communication Foundation (WCF)-Diensts und eines Clients, der den Dienst aufrufen kann, erforderlich sind. Eine Übersicht über alle sechs Aufgaben finden Sie im Thema Lernprogramm "Erste Schritte".

Beim Erstellen eines grundlegenden WCF-Diensts besteht die erste Aufgabe im Definieren eines Vertrags. Der Vertrag gibt an, welche Vorgänge der Dienst unterstützt. Ein Vorgang ähnelt einer Webdienstmethode. Verträge werden durch Definieren einer C++-, einer C#- oder einer VB-Schnittstelle erstellt. Jede Methode in der Schnittstelle entspricht einem bestimmten Dienstvorgang. Auf jede Schnittstelle muss das ServiceContractAttribute angewendet werden, und auf jeden Vorgang muss das OperationContractAttribute angewendet werden. Besitzt eine Methode innerhalb einer Schnittstelle, die über das ServiceContractAttribute verfügt, nicht das OperationContractAttribute, wird diese Methode nicht verfügbar gemacht.

Der für diese Aufgabe verwendete Code wird in dem Beispiel im Anschluss an das Verfahren bereitgestellt.

So erstellen Sie einen Windows Communication Foundation-Vertrag mit einer Schnittstelle

  1. Öffnen Sie Visual Studio 2008 als Administrator, indem Sie im Menü Start mit der rechten Maustaste auf das Programm klicken und Als Administrator ausführen auswählen.

  2. Erstellen Sie ein neues Konsolenanwendungsprojekt. Wählen Sie im Dialogfeld Neues Projekt Visual Basic oder Visual C#, wählen Sie die Vorlage Konsolenanwendung, und nennen Sie das Projekt Service. Verwenden Sie den vorgeschlagenen Speicherort.

  3. Ändern Sie den Standardnamespace Service in Microsoft.ServiceModel.Samples.

  4. Fügen Sie dem Projekt einen Verweis auf System.ServiceModel.dll hinzu:

    1. Klicken Sie im Projektmappen-Explorer unter dem Projektordner mit der rechten Maustaste auf den Ordner Verweise, und wählen Sie dann Verweis hinzufügen.
    2. Klicken Sie im Dialogfeld Verweis hinzufügen auf die Registerkarte Durchsuchen, navigieren Sie zu C:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation, wählen Sie System.ServiceModel.dll, und klicken Sie auf OK.

    Tipp

    Wenn Sie einen Befehlszeilencompiler verwenden (beispielsweise Csc.exe oder Vbc.exe), müssen Sie auch den Pfad zu den Assemblys angeben. Standardmäßig lautet auf einem Computer, auf dem Windows Vista ausgeführt wird, der Pfad: Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.

  5. Fügen Sie eine using-Anweisung (Imports in Visual Basic) für den System.ServiceModel-Namespace hinzu.

  6. Definieren Sie eine neue Schnittstelle mit der Bezeichnung ICalculator, und wenden Sie das ServiceContractAttribute-Attribut unter Angabe des Namespace-Werts "http://Microsoft.ServiceModel.Samples" auf die Schnittstelle an. Die explizite Angabe des Namespace ist eine empfohlene Vorgehensweise, da so verhindert wird, dass der standardmäßige Namespacewert dem Vertragsnamen hinzugefügt wird.

    Tipp

    Wird eine Schnittstelle oder Klasse mithilfe von Attributen mit Anmerkungen versehen, können Sie im Namen des Attributs auf das "Attribute" verzichten. Aus ServiceContractAttribute wird also [ServiceContract].

  7. Deklarieren Sie für jeden Vorgang, der durch den ICalculator-Vertrag innerhalb der Schnittstelle verfügbar gemacht wird (Addieren, Subtrahieren, Multiplizieren und Dividieren), eine Methode, und wenden Sie das OperationContractAttribute-Attribut auf jede Methode an, die als Teil des öffentlichen WCF-Vertrags verfügbar gemacht werden soll.

Beispiel

Im folgenden Codebeispiel wird eine grundlegende Schnittstelle dargestellt, die einen Dienstvertrag definiert.

Nun wird die Schnittstelle erstellt. Erstellen Sie das Projekt, um sicherzustellen, dass keine Kompilierungsfehler auftreten, und fahren Sie anschließend zum Implementieren der Schnittstelle mit Gewusst wie: Implementieren eines Windows Communication Foundation-Dienstvertrags fort. Informationen zur Problembehandlung finden Sie unter Problembehandlung für das Lernprogramm "Erste Schritte".

Siehe auch

Aufgaben

Gewusst wie: Implementieren eines Windows Communication Foundation-Dienstvertrags

Referenz

ServiceContractAttribute
OperationContractAttribute

Weitere Ressourcen

Getting Started Sample
Self-Host