我们一起学习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 @   朝向远方  阅读(1811)  评论(3编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示