如何:使用类创建 Windows Communication Foundation 约定

创建 Windows Communication Foundation (WCF) 协定的首选方式是使用接口。有关更多信息,请参见 如何:定义 Windows Communication Foundation 服务协定. 本文介绍另一种方式,即创建一个类,然后直接对该类应用 ServiceContractAttribute,并对该类中作为协定部分的每个方法应用 OperationContractAttribute 类。

有关服务协定的更多信息,请参见设计服务协定

通过类创建 Windows Communication Foundation 协定

  1. 使用 Visual Basic、C# 或任何其他公共语言运行时语言创建一个新类。

  2. 对该类应用 ServiceContractAttribute 类。

  3. 创建该类中的方法。

  4. 对必须作为公共 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) 来创建和使用其他消息模式。有关更多示例,请参见如何:创建单向协定如何:创建双工协定

另请参见

参考

ServiceContractAttribute
OperationContractAttribute