【发布时间】:2011-01-28 04:38:13
【问题描述】:
我试图了解什么是 WCF,但无法直观地了解它如何增加价值(阅读 msdn 没有帮助)。我过去曾与 COM 合作过,并且我了解 Web 服务。有人可以阐明什么是 WCF 及其优缺点(也许它与 COM 的关系或替代 COM 等)?
如果我可以将架构布局可视化,我就可以开始理解什么组件做了什么功能。
参考网站的链接也很棒。
谢谢
【问题讨论】:
标签: wcf
我试图了解什么是 WCF,但无法直观地了解它如何增加价值(阅读 msdn 没有帮助)。我过去曾与 COM 合作过,并且我了解 Web 服务。有人可以阐明什么是 WCF 及其优缺点(也许它与 COM 的关系或替代 COM 等)?
如果我可以将架构布局可视化,我就可以开始理解什么组件做了什么功能。
参考网站的链接也很棒。
谢谢
【问题讨论】:
标签: wcf
我不建议将 WCF 与 COM 进行比较。
Windows Communication Foundation 是关于通信的——特别是,从 WCF 网站来看,它“提供了一个统一的编程模型,用于快速构建跨网络和企业通信的面向服务的应用程序。”
这确实是一种不同的进程间通信方法,将其统一起来。它使您可以使用干净的、面向服务的 API 进行进程之间的所有通信,并轻松更改服务使用的底层技术(即:从 HTTP 切换到 TCP 到 Pipes 等)。
通过利用 WCF,您可以使进程之间以干净、一致的方式进行通信。相同的 API 可用于与 Web 服务对话、在两个桌面应用程序之间传递数据,或在桌面与系统上的服务之间进行通信。在所有情况下,您都可以轻松切换使用的协议等。
这为单个工具包提供了很大的灵活性。
相对于其他选项的优缺点 - 有很多优点,主要是在能够使用统一的开发模型方面。就个人而言,我使用 WCF 来满足我当前的所有 IPC 需求,因为它几乎已取代远程处理成为 .NET 中 IPC 的首选 API。
主要缺点是在某些特定情况下的性能。使用 WCF 会增加(轻微的)开销,因此,在某些情况下,进行自己的低级套接字开发会执行得更好。除非您正在编写实时游戏或类似的东西,否则涉及低级通信协议的开发工作是不值得的。
【讨论】:
WCF 是用于进程间/机器间通信的非常通用的框架。而已。对于 .net 选项有:自定义网络通信、webservice、.net 远程处理。 WCF 替代了 webservice(向后兼容)和 .net 远程处理(不向后兼容),提供了丰富的通信选项和功能。它可以使用不同的传输层——tcp、web service、msmq
【讨论】: