前言:现在王大叔养了大批猪,赚了很多钱。但是最近发现养鸡也可以赚很多钱,他就像扩展业务开始养鸡。又过两年他发现市场对狗的需求量很大,他开始养狗。那么他改怎么做呢,不可能去修改猪住的地方把鸭子和狗放里面那么维护起来非常不便,那么我们就要进行扩展,在盖一个鸭圈和一个狗圈。现在我们看下图
第一步:定义三个接口
1养猪契约2///<summary>3///服务契约4///</summary>5[ServiceContract]6publicinterfaceipigService7{8[OperationContract]9stringPig();10}11养鸭契约12[ServiceContract]13publicinterfaceIDuckService14{15[OperationContract]16stringDuck();17}18养狗契约1920[ServiceContract]21publicinterfaceIDogService22{23[OperationContract]24stringDog();25}
接口
第二步:实现三个接口内容(我就把它放同一个类,其实不建议这么做,分开好保持功能的单一性便于维护)
1publicclassWcfService:IPigService,IDogService,IDuckService2{3publicstringPig()4{5return"哈喽,我是养猪专业户";6}78publicstringDuck()9{10return"哈喽,我开始扩展养鸭业务";11}1213publicstringDog()14{15return"哈喽,狗的生意不错,我也开始扩展";16}17}
实现接口
第三步:我们在此实现服务端
1其他代码参考第一篇2host.AddServiceEndpoint(typeof(IPigService), binding,"");3host.AddServiceEndpoint(typeof(IDogService), binding,"");4host.AddServiceEndpoint(typeof(IDuckService), binding,"");
核心代码
第四步:客户端引用,效果如下
这一篇就讲完了比较简单,但是用处个人觉得蛮大的。下一篇着手写头消息的发送和接受
源码