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 Möglichkeit, einen Windows Communication Foundation (WCF)-Vertrag zu erstellen, besteht in der Verwendung einer Schnittstelle. Weitere Informationen finden Sie unter Gewusst wie: Definieren eines Windows Communication Foundation-Dienstvertrags. Eine Alternative besteht darin, eine Klasse zu erstellen und anschließend die ServiceContractAttribute-Klasse direkt auf die Klasse anzuwenden und die OperationContractAttribute-Klasse auf die einzelnen Methoden in der Klasse, die Teil des Vertrags sind, anzuwenden.
Weitere Informationen über 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 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
[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;
}
}
Die Methoden, auf die die OperationContractAttribute-Klasse angewendet wird, verwenden standardmäßig ein Anforderungs-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.