WCF无法建立连接,因为目标计算机主动拒绝

问题描述 投票:6回答:5

我刚刚使用net.tcp实现了一个简单的WCF服务器。

首先,我使用127.0.0.1作为服务器地址,客户端能够连接WCF服务。

一切都好。但是当我尝试使用内部IP 192.x.x.x时,我收到一个错误:

无法建立连接,因为目标计算机主动拒绝它

知道是什么原因引起的吗?

最好的祝愿

PS:我在WCF上禁用了auth。甚至关闭防火墙...没有工作......

wcf wcf-security
5个回答
6
投票

您是在客户端和服务器上使用192.x.x.x吗?我记得在一段时间内看到一个问题,对于TCP,需要匹配的客户端和服务器名称(与其中一个消息属性相关的东西),所以如果用“localhost”定义服务,那么客户端就会出现问题。


6
投票

好吧,当我忘记安装必要的组件时,我收到此错误消息。见链接Configuring WCF Service with netTcpBinding

(步骤摘要)......

  • 转到“程序和功能”(通常在控制面板中)
  • 转到“打开或关闭Windows功能”
  • (假设VS2012)转到“.NET Framework 4.5高级服务” - >“WCF服务”
  • 启用“TCP激活”

4
投票

如果逻辑地址相同且服务器端点已配置为“listenUri”且客户端行为配置为使用<clientVia>地址,则物理客户端和服务地址可能不同。在我们的例子中,这是我们的代理/防火墙配置所必需的。实际上,客户端调用防火墙,服务器在本地侦听转发的请求。

对于IIS托管的服务,请检查以下内容:

  1. 应用程序池已启动并且看起来正确(.NET 4等/安全性)
  2. 对于NET.TCP,请确保正确配置网站/应用程序中的“允许的协议”(通过高级设置):例如HTTP,的net.tcp

对于非IIS托管服务,您可能需要配置命名空间保留(URLACL)。 http://msdn.microsoft.com/en-us/library/ms733768.aspx

还要确保正在运行适当的Windows服务,例如Net.Tcp监听器。


1
投票

如果您在Visual Studio中以调试模式运行,请确保您的解决方案端口号匹配。我看过几个实例,我选择了属性> Web>自动分配端口 - 并且端点来自(在本例中为我的silverlight应用程序)与自动生成的端口不匹配。我通常在.web中将端口更改为1318。


0
投票

今天我发现如果你的WCF服务类中有循环引用,那么这个错误也会出现。我有一个方法无限地调用自己并导致此错误消息,这导致我在这里。

因此,如果其他建议都不起作用,请检查您的代码,看看您是否正在执行任何递归功能,并确保您没有陷入无限循环。

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