实现服务协定

服务是一个类,它在一个或多个端点提供给客户端的功能。 若要创建服务,请编写实现 Windows Communication Foundation (WCF) 协定的类。 可以通过以下两种方式之一执行此操作。 可以将协定单独定义为接口,然后创建实现该接口的类。 或者,您可以通过在类本身上放置 ServiceContractAttribute 属性,以及在服务客户端可用的方法上放置 OperationContractAttribute 属性来直接创建类和协定。

创建服务类

下面是一个服务示例,它实现了一个已单独定义的协定 IMath

// Define the IMath contract.  
[ServiceContract]  
public interface IMath  
{  
    [OperationContract]
    double Add(double A, double B);  
  
    [OperationContract]  
    double Multiply (double A, double B);  
}  
  
// Implement the IMath contract in the MathService class.  
public class MathService : IMath  
{  
    public double Add (double A, double B) { return A + B; }  
    public double Multiply (double A, double B) { return A * B; }  
}  

或者,服务可以直接公布合同。 下面是定义和实现 MathService 协定的服务类的示例。

// Define the MathService contract directly on the service class.  
[ServiceContract]  
class MathService  
{  
    [OperationContract]  
    public double Add(double A, double B) { return A + B; }  
    [OperationContract]  
    private double Multiply (double A, double B) { return A * B; }  
}  

请注意,上述服务公开不同的协定,因为协定名称不同。 在第一种情况下,公开的协定被命名为“IMath”,而在第二种情况下,协定名为“”。MathService

您可以在服务和操作实现级别设置一些配置,如并发性和实例化。 有关详细信息,请参阅 设计和实现服务

实现服务协定后,必须为服务创建一个或多个终结点。 有关详细信息,请参阅 终结点创建概述。 有关如何运行服务的详细信息,请参阅 托管服务

另请参阅