相关疑难解决方法(0)

通过命名管道绑定公开WCF服务

介绍:

几天前,我成功实现了Windows服务中托管的WCF服务.StackOverflow的社区帮助我在这里进行了WSDL曝光.我再次感谢你.但是最近我发现这次服务还有另一个潜在的客户端,它位于与服务相同的机器上,这使我认为我应该使用namedPipesBinding添加另一个端点.

就我而言,命名管道似乎是机内通信的最佳解决方案.如果这是错误的纠正我.

问题:

我需要为同一服务/合同公开另一个端点,但这次使用netNamedPipeBinding.但是我真的不明白如何从客户端添加服务引用.加入后愚蠢地说

<endpoint address="net.pipe://localhost/OfficeService"
          binding="netNamedPipeBinding"
          contract="netBridge.Development.OfficeService.IWordService"
          bindingConfiguration="localBinding" />
Run Code Online (Sandbox Code Playgroud)

我试图在位于同一台机器上的Windows窗体应用程序中添加一个服务引用,键入net.pipe:// .... url.它没用.我必须提到我之前删除了mex(MetaData Exchange)端点,因为我认为没有必要.

  1. 这个命名管道端点绑定发现需要这个mex端点吗?
  2. 如何在客户端应用程序中将服务引用添加到命名管道端点?

wcf named-pipes netnamedpipebinding service-discovery

11
推荐指数
2
解决办法
3万
查看次数

配置WCF以仅侦听LOCALHOST

类似于Visual Studio开发Web服务器(Cassini)限制它只在localhost上服务,我有一个只在localhost上需要的WCF服务实现.

除了Windows防火墙提示允许程序侦听面向外部的NIC之外,我不介意其他机器具有访问权限.由于这仅在内部需要,我宁愿限制WCF服务器端配置,以便它不会使防火墙检测器跳闸.

binding.HostNameComparisonMode = HostNameComparisonMode.Exact正确的解决方案吗?我不明白这是多么的充分.

====

与Cassini一样,此服务实现是其他需要网络通信的替代方案.客户端可以配置为连接到真实服务器或在localhost上运行的虚假实现.

wcf localhost

8
推荐指数
2
解决办法
1万
查看次数