我们一起学习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, "");
核心代码

第四步:客户端引用,效果如下

这一篇就讲完了比较简单,但是用处个人觉得蛮大的。下一篇着手写头消息的发送和接受

 源码

posted @ 2015-06-18 16:39  朝向远方  阅读(1807)  评论(3编辑  收藏  举报