代码之家  ›  专栏  ›  技术社区  ›  Aaron

在wcf的net.pipe上运行多个服务

  •  4
  • Aaron  · 技术社区  · 15 年前

    我正在构建一个分布式应用程序,需要6个不同的服务。我必须使用Visual Studio 2008在我的XP笔记本电脑上演示该应用程序。

    是否可以同时使用net.pipe在本地主机上运行多个服务?

    例如:

    net.pipe://localhost/DirectoryService
    net.pipe://localhost/MathService
    

    如果没有,是否有其他方法可以在不使用IIS/Webdev服务器的情况下托管这些WCF服务?NET.TCP?还有别的吗?

    3 回复  |  直到 12 年前
        1
  •  8
  •   Matt Davis    15 年前

    是的,前提是绑定地址是唯一的。您所展示的两个示例可以很好地处理net.pipe绑定。

    请记住,net.pipe绑定只能在本地计算机上工作。如果您希望可以从远程计算机访问您的服务,则需要使用其他绑定,如net.tcp。也就是说,网管是 推荐 如果服务在本地主机上运行,则使用绑定,因为它比其他绑定更高效。

        2
  •  8
  •   marc_s    12 年前

    关于net.pipe地址,您应该知道的另一件事是,您正在提供 不是URL。net.pipe是内存中的实现,您指定的“地址”可以是任何东西。

    net.pipe://IHateCats
    net.pipe://NamedPipes/Are/Fast
    

    不管其他因素如何,这些都会起作用。它只是命名管道的唯一标识符。网络堆栈不涉及这种通信形式。

        3
  •  2
  •   sipsorcery    15 年前

    您可以将HTTP用作没有IIS的服务端点,请查看 ServiceHost 班级。这就是我在当地的WCF测试中使用的,它工作得很好。