为什么我得到一个异常(TCP错误码10061)时,试图使用WCF 2个应用程序之间的通信

本文关键字:WCF 2个 通信 之间 应用程序 误码 一个 为什么 错误 TCP 异常 | 更新日期: 2023-09-27 18:09:07

我试图使用WCF在2个运行的windows应用程序之间设置IPC。首先我想说的是,我知道还有其他(更好的?)方法可以实现这个解决方案。但是,由于一些预先存在的设计考虑/约束,我必须使用:——netTcpBinding- DuplexChannelFactory<>支持双向通信

所有的应用程序、服务等都将和我们在同一台机器上

示意图是这样的WPFApp1(包含ReportingFacilityInterface定义)将通知作为单独的回调返回到WPFApp2^||VReportingFacilityInterfaceProxy^||VWPFApp2(需要调用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

为什么我得到一个异常(TCP错误码10061)时,试图使用WCF 2个应用程序之间的通信

I'd:

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

我通过进入services并启动Net解决了同样的问题。TCP监听器适配器。

此外,您可以在这里找到更多解决方案http://blogs.ajithbhat.com/2010/06/tcp -错误代码- 10061 -不- connection.html