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