一、契约重载
契约也可以生成重载,
像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); } }
加入别名的方式可以在WCF中进行重载
[ServiceContract] public interface IService1 { [OperationContract(Name = "EntryInt")] string GetData(int value); [OperationContract(Name = "EntryString")] string GetData(string value); }
更新客户端引用,此时的GetData方法找不到了,对应现在了俩个别名
结果
二、契约继承
[ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); } public interface IService2: IService1 { [OperationContract] string GetData2(int value); }
客户端层级
,
三、契约分解和设计
,
四、契约查询
,