我遇到了一个我写过的WCF应用程序的问题。
当客户端和服务器都在同一台机器上时,它运行正常,但是当我尝试在两台独立的机器上运行客户端和服务器时(因为它应该运行)我在异常中得到以下内容:
System.ServiceModel.EndpointNotFoundException:net.pipe://vm101.lab.foo.co.uk/VDNService上没有可以接受该消息的端点。这通常是由错误的地址或SOAP操作引起的。有关详细信息,请参阅InnerException(如果存在) System.IO.PipeException:在本地计算机上找不到管道端点'net.pipe://vm101.lab.foo.co.uk/VDNService'。
我不明白的是异常的第二行,它无法在我的本地计算机上找到终点。终点是在另一台机器上,不是我的本地机器不是吗?
我正在使用网络命名管道绑定(NetNamedPipeBinding
)而不是HTTP绑定。
并且WCF代码是手工编码而不是生成(据我所知,这是常态,直到我编写应用程序之后我才学到这一点。)
任何帮助都将不胜感激。
答案 0 :(得分:7)
“net.pipe”解决了本地传输问题。您需要使用不同的绑定来跨机器进行通信。您可能想要使用netTcp。