在wcf服务中获取异常-协议';净管道';不支持
我在IIS 7上部署了WCF服务,支持非HTTP启用 在一个项目中,我使用在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
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协议后。
它成功了。是的,我知道这一点。它在同一台机器上给了我这个例外。