知识卡片
.NET WCF用代码生成把多种远程调用形式统一成本地方法体验
内容
.NET WCF(Windows Communication Foundation)是微软在DCOM失败、Web Service 式微之后推出的补救方案,思路不是发明新协议,而是把REST、TCP、SOAP等不同 形式的远程调用都自动封装成表现完全一致的程序接口,让调用者感觉不到底层 用的是哪种协议。它的关键武器是配套的Visual Studio IDE:开发者只需要指定 一个远程服务地址,IDE就能自动拉取服务描述、绑定安全传输等特性、生成客户端 调用代码,甚至可以选择同步或异步调用——工作量被压缩到极致。WCF依然只支持 .NET平台、依然沿用XML描述(继承了Web Service的部分局限),但把”开发体验” 这个此前被CORBA、Web Service都严重忽视的维度做到了极致,挽回了此前两代 方案在开发者心中丢掉的印象分。这提示一个跨越具体协议的经验:一项远程调用 技术的成败,工具链和开发体验的权重,可能不亚于协议本身的技术优劣。
参考来源
- 位置:《凤凰架构:构建可靠的大型分布式系统》第2章"访问远程服务"2.1节
后记(源文件:_epub-src对应OEBPS/Text/chapter18.xhtml)
- 结论依据:原文说明.NET WCF能同时将REST、TCP、SOAP等不同调用形式自动
封装为一致的程序接口,并依靠Visual Studio把工作量压缩到只需指定服务
地址,直接支撑本卡片"用工具链弥补协议局限"这一结论。
- 原始内容:微软在它们的基础上推出的.NET WCF……不仅同时将REST、TCP、
SOAP等不同形式的调用自动封装为完全一致的如同本地方法调用一般的程序
接口,还依靠自家的"地表最强IDE"Visual Studio将工作量减少到只需要指定
一个远程服务地址,就可以获取服务描述、绑定各种特性……使用体验异常畅快。