【问题标题】:How to host net named pipe binding enabled wcf application in iis?如何在 iis 中托管启用了网络命名管道绑定的 wcf 应用程序?
【发布时间】:2012-09-04 03:25:51
【问题描述】:

我的 wcf 服务中有以下配置

    <endpoint address="" binding="netNamedPipeBinding" 
          contract="WcfWithNamedPipe.IService1" 
          bindingConfiguration="WcfWithNamedPipe.netNamedPipeBinding">
    </endpoint>

谁能建议我如何使用 netNamedPipe 绑定在 iis 中托管这个 wcf 服务?

【问题讨论】:

  • 应该是可以的。见stackoverflow.com/questions/1806430/…。您遇到错误还是只是无法正常工作?
  • 首先,尝试使用像 basicHttp 这样的简单绑定。这将确保您的服务有效。之后,您必须为您的站点添加一个新的协议 NET.TCP(在高级属性中),然后在您的网站中添加一个新的绑定。

标签: .net wcf wcf-binding named-pipes netnamedpipebinding


【解决方案1】:

要让命名管道在 IIS 上工作,您必须在 IIS 上启用 Windows Process Activation Service (WAS) 并配置您正在使用的站点以允许命名管道。

详情见:http://msdn.microsoft.com/en-us/library/ms752253.aspx

就像 Cyber​​max 在评论中所说,首先让它与基本的 http 绑定一起工作是个好主意。

如果您认为您已正确设置所有内容但仍无法正常工作,请检查防火墙设置。

【讨论】:

    【解决方案2】:

    启用命名管道激活。在 Windows 8(可能还有更高版本?)中,打开“打开或关闭 Windows 功能”窗口,找到并检查以下内容:

    您还需要在 IIS 中为应用程序指定 net.pipe 协议。右键单击应用程序的节点,选择管理应用程序高级设置...。在这里,您可能会在启用的协议 下拥有http。在其后添加, net.pipe,然后单击确定保存。

    如果其他一切都正确,这应该允许调用服务来激活服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多