一、契约重载

契约也可以生成重载,

像C#一样的重载方式服务端启动时会发生异常

[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);

[OperationContract]
string GetData(string value);
}

 

public class Service1 : IService1
{
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
}

public string GetData(string value)
{
return string.Format("You entered: {0}", value);
}
}

 

(4)服务契约_WCF

 

加入别名的方式可以在WCF中进行重载

[ServiceContract]
public interface IService1
{
[OperationContract(Name = "EntryInt")]
string GetData(int value);

[OperationContract(Name = "EntryString")]
string GetData(string value);
}

 更新客户端引用,此时的GetData方法找不到了,对应现在了俩个别名

(4)服务契约_客户端_02

 结果

 

(4)服务契约_客户端_03

 

二、契约继承

[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
}
public interface IService2: IService1
{
[OperationContract]
string GetData2(int value);
}

客户端层级

三、契约分解和设计

四、契约查询