如何:使用类创建 Windows Communication Foundation 约定
创建 Windows Communication Foundation (WCF) 协定的首选方式是使用接口。有关更多信息,请参见 如何:定义 Windows Communication Foundation 服务协定. 本文介绍另一种方式,即创建一个类,然后直接对该类应用 ServiceContractAttribute,并对该类中作为协定部分的每个方法应用 OperationContractAttribute 类。
有关服务协定的更多信息,请参见设计服务协定。
通过类创建 Windows Communication Foundation 协定
使用 Visual Basic、C# 或任何其他公共语言运行时语言创建一个新类。
对该类应用 ServiceContractAttribute 类。
创建该类中的方法。
对必须作为公共 WCF 协定的一部分公开的每个方法应用 OperationContractAttribute 类。
示例
下面的代码示例演示定义服务协定的类。
<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;
}
}
默认情况下,应用了 OperationContractAttribute 类的方法使用请求-答复消息模式。有关此消息模式的更多信息,请参见如何:创建请求-答复协定。您还可以通过设置属性 (Attribute) 的属性 (Property) 来创建和使用其他消息模式。有关更多示例,请参见如何:创建单向协定和如何:创建双工协定。