Procedure: Een Windows Communication Foundation-contract maken met een klasse
De voorkeursmethode voor het maken van een WCF-contract (Windows Communication Foundation) is met behulp van een interface. Zie Procedure: Een servicecontract definiƫren voor meer informatie. Een alternatief, dat hier wordt beschreven, is het maken van een klasse en het ServiceContractAttribute kenmerk vervolgens rechtstreeks toepassen op de klasse en het OperationContractAttribute kenmerk op elk van de methoden in de klasse die deel uitmaken van het contract.
Waarschuwing
[ServiceContract]
en [ServiceContractAttribute]
doe hetzelfde. Hetzelfde geldt voor [OperationContract]
en [OperationContractAttribute]
. In elk geval is de vroegere afkorting voor de laatste.
Zie Servicecontracten ontwerpen voor meer informatie over servicecontracten.
Een Windows Communication Foundation-contract maken met een klasse
Maak een nieuwe klasse met Behulp van Visual Basic, C# of een andere algemene taal voor runtimetaal voor talen.
Pas de ServiceContractAttribute klasse toe op de klasse.
Methoden maken in de klasse.
Pas de OperationContractAttribute klasse toe op elke methode die moet worden weergegeven als onderdeel van het openbare WCF-contract.
Opmerking
In het volgende codevoorbeeld ziet u een klasse die een servicecontract definieert.
[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
De methoden waarop de OperationContractAttribute klasse is toegepast, maken standaard gebruik van een patroon voor een bericht met een aanvraagantwoord. Zie Een aanvraag-antwoordcontract maken voor meer informatie over dit berichtpatroon. U kunt ook andere berichtpatronen maken en gebruiken door eigenschappen van het kenmerk in te stellen. Zie Procedure: Een eenrichtingscontract maken en een dubbelzijdig contract maken voor meer voorbeelden.