(4)服务契约

一、契约重载

契约也可以生成重载,

像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);
    }

客户端层级

三、契约分解和设计

四、契约查询

猜你喜欢

转载自www.cnblogs.com/buchizaodian/p/10026690.html