【发布时间】:2011-05-16 11:24:44
【问题描述】:
appfabric 服务总线和 WCF 有什么区别?
服务总线是 azure 上 wcf 的替代品吗?
服务总线是否提供 wcf 的所有功能?
在 Azure 应用程序中何时使用服务总线以及何时使用 wcf?
请帮帮我....
提前致谢
【问题讨论】:
appfabric 服务总线和 WCF 有什么区别?
服务总线是 azure 上 wcf 的替代品吗?
服务总线是否提供 wcf 的所有功能?
在 Azure 应用程序中何时使用服务总线以及何时使用 wcf?
请帮帮我....
提前致谢
【问题讨论】:
服务总线本身不提供服务 - 而是提供与服务的连接 - 例如。路由、可扩展性、安全性等。
因此,您通常会在 WCF 中编写服务,然后可以选择使用总线提供与这些服务的连接。
这篇文章很好地介绍了服务总线 - http://msdn.microsoft.com/en-us/magazine/dd569756.aspx
【讨论】:
您无需离开 WCF。但是,想象一下您的应用程序,位于 Windows Azure 中,试图访问您的数据中心(或托管在某处)中的 WCF 服务。并想象数据中心有一个阻止传入连接的防火墙。服务总线为您提供了一种对该服务端点进行服务调用的方法。从本质上讲,两侧各连接到一个 AppFabric 服务总线终结点。那时,他们就有了可以进行 WCF 调用的连接。
绑定与您今天使用的类似。例如,如果您使用的是 netTcpBinding,您现在应该使用 netTcpRelayBinding,因为调用是通过服务总线中继的。
Windows Azure Platform Training Kit 有一个非常好的介绍性实验室,可以引导您了解服务总线的基础知识。
【讨论】:
ServiceBus 是一种异步通信方式。异步通信意味着由于容错性,它有利于多机编程并且不会阻塞。
WCF 是一个编程堆栈,用于与各种介质(即管道、TCP、HTTP、ServiceBus)进行交互。
它们用于正交目的。您可以使用不带 ServiceBus 的 WCF 和不带 WCF 的 ServiceBus。
【讨论】: