我正在构建一个需要6种不同服务的分布式应用程序.我将不得不使用Visual Studio 2008在我的XP笔记本电脑上演示应用程序.
是否可以同时在localhost上运行多个服务,全部使用net.pipe?
例如:
net.pipe://localhost/DirectoryService
net.pipe://localhost/MathService
Run Code Online (Sandbox Code Playgroud)
如果没有,有没有其他方法来托管这些WCF服务而不使用IIS/webdev服务器?的net.tcp?别的什么?
是的,提供绑定地址是唯一的.您显示的两个示例将与net.pipe绑定一起使用.
请记住,net.pipe绑定仅适用于本地计算机.如果您希望从远程计算机访问您的服务,则需要使用不同的绑定,例如net.tcp.也就是说,如果您的服务在localhost上运行,net.pipe是推荐使用的绑定,因为它比其他绑定更有效.
您应该了解net.pipe地址的另一件事是您提供的是URN,而不是URL.net.pipe是内存中实现,您指定的"地址"可以是任何内容.
net.pipe://IHateCats
net.pipe://NamedPipes/Are/Fast
Run Code Online (Sandbox Code Playgroud)
无论任何其他因素,这些都将起作用.它只是该命名管道的唯一标识符.网络堆栈不涉及这种形式的通信.