在wcf服务中获取异常-协议';净管道';不支持

在wcf服务中获取异常-协议';净管道';不支持,wcf,binding,net.pipe,Wcf,Binding,Net.pipe,我在IIS 7上部署了WCF服务,支持非HTTP启用 在一个项目中,我使用wsHttpendpoints公开了8种不同的服务,这些服务运行良好 我还想公开相同服务的NetNamedPipe绑定 我的示例NetNamedPipe绑定 <netNamedPipeBinding> <binding name="PassportIPCBasicEndpoint" closeTimeout="00:05:00" openTimeout="00:05:00" r

我在IIS 7上部署了WCF服务,支持非HTTP启用

在一个项目中,我使用
wsHttp
endpoints公开了8种不同的服务,这些服务运行良好

我还想公开相同服务的
NetNamedPipe
绑定

我的示例
NetNamedPipe
绑定

<netNamedPipeBinding>
    <binding name="PassportIPCBasicEndpoint" 
         closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" 
         sendTimeout="00:05:00"
         maxBufferSize="2147483647" maxBufferPoolSize="2147483647" 
         maxReceivedMessageSize="2147483647" transferMode="Buffered"
         hostNameComparisonMode="Exact"  >
      <readerQuotas
           maxDepth="2147483647" maxStringContentLength="2147483647" 
           maxArrayLength="2147483647" maxBytesPerRead="2147483647" 
           maxNameTableCharCount="2147483647"/>
      <security mode="Transport">
         <transport protectionLevel="None" />
      </security>
   </binding>
</netNamedPipeBinding>

还有我的服务标签

<service behaviorConfiguration="default" name="MyAccountService.AccountService">
   <host>
      <baseAddresses>
         <add baseAddress="http://localhost/MyAccountService/v1.0/AccountService.svc" />
      </baseAddresses>
   </host>
   <endpoint name="PassportIPCBasicEndpoint" 
       address="net.pipe://localhost/MyAccountService/v1.0/AccountService.svc" 
       binding="netNamedPipeBinding" 
       bindingConfiguration="PassportIPCBasicEndpoint" 
       contract="MyAccountService.IAccountService"/>
</service>

这给了我以下例外情况:

不支持协议“net.pipe”

[InvalidOperationException:不支持协议'net.pipe' System.ServiceModel.Activation.HostedTransportConfigurationManager.InternalGetConfiguration(字符串 (方案)

[InvalidOperationException:位于 “净。pipe://localhost/MyAccountService/v1.0/AccountService.svc“带着 合同“IAccountService”无法打开其 伊坎内利斯特纳。]

我在IIS的高级站点设置中添加了http、net.pipe的条目

还通过控制面板设置安装并启用对WCF服务的非HTTP支持

在8个.svc服务中,只有一个这样的服务能够获得端口,我可以浏览它的.svc端点

为netnamedPipe绑定配置的所有其他服务都会出现上述错误


有人能告诉我,需要做些什么才能让它们都在端口上并可以访问。

netNamedPipe绑定仅适用于同一台机器上的通信-您不能从远程机器调用这样的端点

这就是你想做的吗


netNamedPipe
绑定对于同一台机器上的应用程序内部通信非常有用,但实际上不适用于其他任何东西。

此问题在于在正确的位置启用协议。 以前我在站点级别启用了net.pipe协议

在托管服务的每个虚拟路径上启用net.pipe协议后。
它成功了。

是的,我知道这一点。它在同一台机器上给了我这个例外。