Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die bevorzugte Methode zum Erstellen eines WCF-Vertrags (Windows Communication Foundation) ist die Verwendung einer Schnittstelle. Weitere Informationen finden Sie unter Vorgehensweise: Definieren eines Dienstvertrags. Eine Alternative besteht darin, eine Klasse zu erstellen und anschließend das ServiceContractAttribute-Attribut direkt auf die Klasse anzuwenden und das OperationContractAttribute-Attribut auf die einzelnen Methoden in der Klasse, die Teil des Vertrags sind, anzuwenden.
Warnung
[ServiceContract] und [ServiceContractAttribute] dienen dem gleichen Zweck. Dasselbe gilt für [OperationContract] und [OperationContractAttribute]. Dabei ist jeweils das Erstere die Kurznotation für das Letztere.
Weitere Informationen zu Dienstverträgen finden Sie unter Entwerfen von Dienstverträgen.
Erstellen eines Windows Communication Foundation-Vertrags mit einer Klasse
Erstellen Sie mit Visual Basic, C# oder einer beliebigen anderen Common Language Runtime-Sprache eine neue Klasse.
Wenden Sie die ServiceContractAttribute-Klasse auf die Klasse an.
Erstellen Sie Methoden in der Klasse.
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 Klasse dargestellt, die einen Dienstvertrag definiert.
[ServiceContract]
public class CalculatorService
{
[OperationContract]
public double Add(double n1, double n2)
{
return n1 + n2;
}
[OperationContract]
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
[OperationContract]
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
[OperationContract]
public double Divide(double n1, double n2)
{
return n1 / n2;
}
}
<ServiceContract()> _
Public Class CalculatorService
<OperationContract()> _
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 + n2
End Function
<OperationContract()> _
Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 - n2
End Function
<OperationContract()> _
Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 * n2
End Function
<OperationContract()> _
Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 / n2
End Function
End Class
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.