问题描述
这是我的服务实现类publicclassService:IService,IService2那两个接口都标明了是服务契约,并且里面都有操作契约,怎么实现在客户端只用一个代理类就可以调用那两个接口里面的操作服务?请各位帮帮忙,越详细越好。
解决方案
解决方案二:
publicclassService:IService,IService2因为你只给用户提供了一个访问类啊。
解决方案三:
publicinterfaceIMyService:IService,IService2publicclassService:IMyService
解决方案四:
引用1楼mjp1234airen4385的回复:
publicclassService:IService,IService2因为你只给用户提供了一个访问类啊。
那一个是服务端的实现类,实现各个接口的操作契约这个是客户端代理类的实现类//客户端代理类型publicclassClientProxyA:ClientBase<IService>,IService,IService2ClientBase<>对象必须是接口,但服务契约不是有两个接口吗?糊涂了。。。
解决方案五:
引用2楼feiyun0112的回复:
publicinterfaceIMyService:IService,IService2publicclassService:IMyService
这样的话他本质上还是单服务契约接口,难道是我理解错了?
解决方案六:
晕,“契约接口”,好高达上的名词儿。你现在就是对远端暴露一个类,叫做Service。至于说它在背后搞了什么组织架构,跟调用者无关。
解决方案七:
打个比方吧,我们说“狗是吃屎的动物,也是人类的好朋友”,我们是不是推断说“凡是人类的好朋友都是吃屎的”呢?肯定不是。你把随便什么其它的接口都说成是“契约接口”,你说“狗是吃屎的,但是狗不也是人类的好朋友吗?”,这就是你自己的语文理解问题了。怎么能胡乱把第一个接口的含义硬要张冠李戴给其它接口呢?接口跟接口的作用各不相同的。
解决方案八:
建立两个接口IService1,IService2;两个类Service1,Service2,把里边类的名称统一改为Service,修饰符publicpartialclass
解决方案九:
你再公布个IService3继承自前面两个
解决方案十:
引用8楼starfd的回复:
你再公布个IService3继承自前面两个
用这个接口包含,然后你的代理类只要用IService3就行了