Freigeben über


Vorgehensweise: Erstellen eines Diensts mit einer Vertragsschnittstelle

Die bevorzugte Methode zur Erstellung eines Windows Communication Foundation (WCF)-Vertrags ist die Verwendung einer Schnittstelle. Dieser Vertrag gibt die Auflistung und Struktur von Nachrichten an, die erforderlich sind, um auf die Vorgänge zuzugreifen, die der Dienst anbietet. Diese Schnittstelle definiert die Eingabe- und Ausgabetypen durch Anwenden der ServiceContractAttribute-Klasse auf die Schnittstelle und der OperationContractAttribute-Klasse auf die Methoden, die verfügbar gemacht werden sollen.

Weitere Informationen zu Dienstverträgen finden Sie unter Entwerfen von Dienstverträgen.

Erstellen eines WCF-Vertrags mit einer Schnittstelle

  1. Erstellen Sie mit Visual Basic, C# oder einer beliebigen anderen Common Language Runtime-Sprache eine neue Schnittstelle.

  2. Wenden Sie die ServiceContractAttribute-Klasse auf die Schnittstelle an.

  3. Definieren Sie die Methoden in der Schnittstelle.

  4. Wenden Sie die OperationContractAttribute-Klasse auf jede Methode an, die als Teil des öffentlichen WCF-Vertrags verfügbar gemacht werden muss.

Beispiel

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

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
   [OperationContract]
   double Add(double n1, double n2);
   [OperationContract]
   double Subtract(double n1, double n2);
   [OperationContract]
   double Multiply(double n1, double n2);
   [OperationContract]
   double Divide(double n1, double n2);
}


<ServiceContract()> _
Public Interface ICalculator
    <OperationContract()> _
    Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface

Die Methoden, auf die die OperationContractAttribute-Klasse angewendet wird, verwenden standardmäßig ein Anforderung-Antwort-Nachrichtenmuster. Weitere Informationen zu diesem Nachrichtenmuster finden Sie unter Vorgehensweise: Erstellen eines Anforderung-Antwort-Vertrags. Sie können auch andere Nachrichtenmuster erstellen und verwenden, indem Sie die Eigenschaften des Attributs festlegen. Weitere Beispiele finden Sie unter Vorgehensweise: Erstellen eines unidirektionalen Vertrags und Vorgehensweise: Erstellen eines Duplexvertrags.

Siehe auch