我们一起学习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, "");
第四步:客户端引用,效果如下
这一篇就讲完了比较简单,但是用处个人觉得蛮大的。下一篇着手写头消息的发送和接受
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?