通过TCP / IPC / MSMQ消耗WCF的实际示例

时间:2016-06-16 06:54:53

标签: wcf

我已经多次阅读过WCF支持的传输方案。它看起来非常理论化。几乎无处不在它被描述为:

Following are the transport schemes supported by WCF:

HTTP/HTTPS - http://localhost:8001/MyService
TCP - net.tcp://localhost:8002/MyService
IPC - net.pipe://localhost/MyPipe
Peer network
MSMQ - net.msmq://localhost/private/MyQueue
Service bus - sb://MyNamespace.servicebus.windows.net/

然而,我无法理解谁需要通过TCP或IPC或MSMQ使用WCF。任何人都可以提供一个实际的例子,说明谁真的需要通过TCP或任何其他方面消费WCF而不是HTTP,他们将如何这样做?

2 个答案:

答案 0 :(得分:0)

如果您希望两个或更多程序进行通信,那么在我的情况下,通过TCP使用WCF服务是最常用的方式。 WCF over tcp可以轻松取代IPC-Communication。

例如: 您有一个托管WCF服务的Windows服务。使用Vista以及之后您必须处理Session 0隔离。 您现在想要与该WCF服务进行通信。实现这一目标的常用方法是托盘应用程序。 大多数反病毒程序都是这样做的。

如果您在同一台机器上运行,则tcp比HTTP-Binding更快。

答案 1 :(得分:0)

我发现蒂姆的评论非常有用。我已经完成了他提供的link,我将尝试总结我从中获得的任何内容。

  
      
  1. 何时使用TCP - 当主机是WCF而消费者是WCF时也使用TCP。通信将比HTTP快得多。

  2.   
  3. 何时使用命名管道 - 当主机和客户端都是WCF并驻留在同一台计算机上时。沟通会更快,而且   其他机器将拒绝访问主机。

  4.   

您可以参考this图片,了解有关选择适当的传输的更多详细信息。要进一步深入了解this