1

在Michele Bustamante 的Learning WCF中,有一节描述了称为NetNamedPipes绑定的绑定。书中说这种绑定只能用于将在同一台机器上专门调用的 WCF 服务。

在什么情况下使用它是有意义的?通常,我会在不使用 WCF 的情况下编写异步代码……为什么 Microsoft 会为 WCF 提供只能在同一台机器上运行的东西?

4

2 回答 2

4

从另一个方向看它。构建服务后,您可以在各种绑定配置中运行。如果它是远程机器,您可以使用 HTTP 或 TCP 绑定。或者,服务碰巧在同一个盒子上运行,你有这些选项加上命名管道选项。命名管道只是提供的另一个选项,以防您在本地运行,但如果您在远程运行,您应该能够切换到不同的绑定。

Yu 可以从同一个盒子上的所有内容开始,因为您的流量较少,并使用命名管道,因为它是通往服务的最短路径。然后,如果负载需要,您可以将服务移动到另一个盒子,然后将其更改为使用 TCP 或 HTTP。

于 2010-05-25T20:46:20.003 回答
2

您可能不会拥有仅公开 NetNamedPipe 端点的服务 - 这没有多大意义。但是,如果您在服务器上运行 WCF 服务,使用通常的绑定向世界公开服务端点,并且您需要例如管理或管理控制台或类似的东西,在同一台机器上运行,使用NetNamedPipe 绑定,因为它是最快的。

我了解到的另一种可能的情况是有一个错误收集服务——发生的任何错误或异常都会发送到一个服务进行记录。同样:该服务可能会公开几种类型的端点,但是如果您在同一台服务器上运行其他服务,则使用 NetNamedPipe 绑定来连接这两个服务很有意义。

我认为您不会在 WCF 时代大量使用 NetNamedPipe 绑定 - 但它在某些情况下绝对有意义,并且在此类特殊场景中非常有用。

于 2010-05-25T20:44:32.927 回答