尝试使用WCF在2个应用程序之间进行通信时,为什么会出现异常(TCP错误代码10061)?

问题描述 投票:2回答:2

我正在尝试使用WCF在2个正在运行的Windows应用程序之间设置IPC。 首先,我想知道我还有其他(更好的)方法可以实现此解决方案。 但是,由于一些先前存在的设计注意事项/约束,我不得不使用:-netTcpBinding-DuplexChannelFactory <>以支持双向通信

所有应用程序,服务等都位于同一台计算机上,因为我们将所有内容安装在运行MS Windows的单个专用硬件上。

因此,示意图类型类似于WPFApp1(包含ReportingFacilityInterface定义),将通知作为对WPFApp2的单独回调返回。 | V ReportingFacilityInterfaceProxy ^ | | V WPFApp2(需要在WPF1 ReportingFacilityInterface对象上调用公开的方法)

我已经创建了WCF“服务”类和合同。 我正在使用代理dll来促进通信。

这是事件的顺序:


1)WPFApp1启动并实例化公开服务类的实例

ReportingFacilityInterface = new ReportingFacility.ReportingFacilityInterface(); 

这开始很好。

2)WPFApp2启动并初始化代理对象的实例

reportingFacilityProxy = new ReportingFacilityInterfaceProxy.ReportingFacilityProxy();

这将实例化代理对象,从而导致被调用:

reportingFacilityInterface = DuplexChannelFactory<IReportingFacilityInterface>.CreateChannel(objContext, "RPIEndPointConfiguration"); 

这似乎可以运行并成功返回。

3)WPFApp2在对象上调用a(通过代理)

 reportingFacilityInterface.Initialize(configuration); 

我有一个例外,包含以下详细信息:

无法连接到net.tcp:// localhost:8732 / ReportingFacility。 连接尝试持续时间为00:00:02.1931255。 TCP错误代码10061:无法建立连接,因为目标计算机主动拒绝它127.0.0.1:8732

我使用CurrPorts应用程序检查了当前端口的使用情况,并注意到端口#8732不在计算机上当前活动/已使用的端口列表中。

因为我在WCF的世界里很绿,所以在这里有些困惑。 如上所述,所有这些都在相同(专用)的Windows 7硬件上运行,因此权限/角色应该不是问题。 我想我离这里很近,但是只是缺少一些东西。

谢谢,JohnB

c# .net wcf ipc
2个回答
0
投票

ID:

  1. 验证服务器配置,以确保有关服务端点地址
  2. 运行服务跟踪查看器工具( SvcTraceViewer.exe
  3. 添加一些basicHttpBinding端点,以确保您可以从浏览器访问它

0
投票

我通过转到服务并启动Net.tcp侦听器适配器解决了相同的问题。

另外,您可以在此处找到更多解决方案, 网址为http://blogs.ajithbhat.com/2010/06/tcp-error-code-10061-no-connection.html

© www.soinside.com 2019 - 2024. All rights reserved.