Freigeben über


Vorgehensweise: Erstellen eines Diensts mit einer Vertragsschnittstelle

Die bevorzugte Möglichkeit, einen Windows Communication Foundation (WCF)-Vertrag zu erstellen, 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 über 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.

    <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
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);
}

Die Methoden, auf die die OperationContractAttribute-Klasse angewendet wird, verwenden standardmäßig ein Anforderung-Antwort-Nachrichtenmuster. Weitere Informationen über zu diesem Nachrichtenmuster finden Sie unter Gewusst wie: 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 unter Vorgehensweise: Erstellen eines Duplexvertrags.

Siehe auch

Verweis

ServiceContractAttribute
OperationContractAttribute