【问题标题】:Running Multiple Services Over net.pipe in WCF在 WCF 中通过 net.pipe 运行多个服务
【发布时间】:2009-04-14 23:43:28
【问题描述】:

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

是否可以同时在 localhost 上运行多个服务,全部使用 net.pipe?

例如:

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

如果没有,有没有其他方法可以在不使用 IIS/webdev 服务器的情况下托管这些 WCF 服务?网络.tcp?还有什么?

【问题讨论】:

    标签: wcf wcf-binding


    【解决方案1】:

    是的,只要绑定地址是唯一的。您展示的两个示例可以很好地与 net.pipe 绑定一起使用。

    请记住,net.pipe 绑定仅适用于本地计算机。如果您希望您的服务可以从远程机器访问,您需要使用不同的绑定,例如 net.tcp。也就是说,如果您的服务在 localhost 上运行,net.pipe 是推荐使用的绑定,因为它比其他绑定更有效。

    【讨论】:

      【解决方案2】:

      关于 net.pipe 地址,您应该了解的另一件事是您提供的是 URN,而不是 URL。 net.pipe 是一个内存实现,你指定的“地址”可以是任何东西。

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

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

      【讨论】:

        【解决方案3】:

        你可以在没有 IIS 的情况下使用 HTTP 作为服务端点,看看ServiceHost 类。这就是我用于本地 WCF 测试的方法,而且效果很好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-01-17
          • 1970-01-01
          • 1970-01-01
          • 2010-11-14
          • 2016-01-06
          • 2011-11-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多