.net WCF命名管道:跨网络?真正地

.net WCF命名管道:跨网络?真正地,.net,wcf,named-pipes,.net,Wcf,Named Pipes,许多人似乎是这样的,但很明显,在边界中被描述为相互过程,在我看来,这意味着“没有网络” 是完全明确的: 指定的管道运输范围很小;它只能连接到同一台计算机上运行的服务 那么,为什么这里有这么多海报说它可以工作呢?一般来说,命名管道在网络中工作。但是,将命名管道与WCF一起使用时,仅限于计算机上的通信。这就是为什么您的第一个和最后一个链接都是正确的。我认为您需要区分命名管道和WCF绑定实现NETNamedPipeBinding NetNamedPipeBinding是用于机器通信的WCF的预定义绑定

许多人似乎是这样的,但很明显,在边界中被描述为相互过程,在我看来,这意味着“没有网络”

是完全明确的:

指定的管道运输范围很小;它只能连接到同一台计算机上运行的服务


那么,为什么这里有这么多海报说它可以工作呢?

一般来说,命名管道在网络中工作。但是,将命名管道与WCF一起使用时,仅限于计算机上的通信。这就是为什么您的第一个和最后一个链接都是正确的。

我认为您需要区分命名管道和WCF绑定实现NETNamedPipeBinding

NetNamedPipeBinding是用于机器通信的WCF的预定义绑定

提供安全可靠的绑定,该绑定针对计算机上的通信进行了优化

但是,如果您检查“关于命名管道”,可以看到可以跨网络设置命名管道

命名管道可用于在同一台计算机上的进程之间或网络上不同计算机上的进程之间提供通信


那么,为什么WCF在其命名管道上排除机器间通信?@spender:不知道。您需要向Microsoft询问答案。因为命名管道在远程时通过TCP/IP工作。在这种情况下,您最好使用nettcppbinding。