实现服务协定
服务是一个类,会在一个或多个终结点公开客户端可用的功能。若要创建服务,请编写一个实现 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”。
您可以在服务和操作实现级别设置一些配置,如并发性和实例化。有关更多信息,请参见 设计和实现服务.
在实现服务协定后,必须为该服务创建一个或多个终结点。有关更多信息,请参见 终结点创建概述. 有关如何运行服务的更多信息,请参见承载服务。
另请参见
任务
如何:使用类创建 Windows Communication Foundation 约定
如何:使用协定接口创建服务