2011-05-12 162 views
2

我刚刚使用net.tcp实现了一个简单的WCF服务器。WCF无法连接,因为目标机器主动拒绝

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

Everthing是好的。但是,当我尝试使用内部IP 192.x.x.x我得到一个错误:

No connection could be made because the target machine actively refused it

任何想法可能会导致此?

最好的祝愿

PS:我禁用了WCF的认证。即使关闭防火墙所有...没有工作...

+0

能否请您分享例外STA CK? – amit 2011-05-12 19:19:22

回答

6

您是否在客户端和服务器上使用192.x.x.x?我记得之前看到一个问题,在这个问题中,TCP需要匹配客户端和服务器名称(与某个消息属性相关的东西),所以如果您使用“localhost”定义服务并且客户端有问题。

+1

是的......你说得对。本地Ip表示应该在两边相匹配......谢谢 – setiGuy 2011-05-16 07:06:05

4

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

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

  1. 应用程序池已启动,看起来是正确的(.NET 4等/安全性)
  2. 有关的net.tcp,确保“允许的协议“在网站/应用程序中(通过高级设置)正确配置:例如http,net.tcp

对于非IIS托管的服务,您可能需要配置Namespace Reservation(URLACL)。 http://msdn.microsoft.com/en-us/library/ms733768.aspx

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

+2

“还要确保正在运行相应的Windows服务,例如Net.Tcp监听器。”如果我留下任何头发,它现在已经被撕掉了。感谢你让我摆脱苦难! – 2013-11-23 00:51:35

1

如果您在调试模式下从Visual Studio中运行,请确保您的解决方案端口号匹配。我已经看到了几个实例,其中我选择了属性> Web>自动分配端口 - 并且在这种情况下我的Silverlight应用程序的端点与自动生成的端口不匹配。我通常将我的.web中的端口更改为1318。

5

嗯,当我忘记安装必要的组件时,我得到了这个错误信息。见链接Configuring WCF Service with netTcpBinding

(步骤摘要)...

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

嗨@barrypicker:我已经完成了所有设置在我的登台服务器上,就像你告诉的一样,但是我仍然得到相同的错误,请你指导我如何? – Developer 2016-01-08 05:50:55

+0

@TheProgrammer - 验证登台服务器上的防火墙限制。通过carlosfigueira,PeterX和Moby Stunt Double验证以前的答案。验证包括端口的URL。此外,尝试使用Fiddler等工具连接到服务以验证WCF服务是否可用。 – barrypicker 2016-01-08 16:21:26

相关问题