连接被拒绝 - nettcp WCF服务从工作 - 客户端通过VPN连接

时间:2009-08-07 21:49:03

标签: wcf wcf-binding vpn

以下是场景:客户端计算机已通过VPN(Cisco VPN客户端)连接到“工作网络”。工作网络托管具有带nettcp绑定的WCF服务的计算机。客户端尝试连接到此服务并获取异常,如下所示:

  

无法连接   的net.tcp:// workMachine:2010 / SomeService。   连接尝试持续了一段时间   时间跨度00:00:01.3180754。 TCP   错误代码10061:没有连接可以   是因为目标机器   积极拒绝工作机器:2010年。

我尝试的事情:

  1. 更改了客户端的工作组 机器到工作网络 工作组
  2. 为Windows网络密码保险库添加了域/用户名/密码,以便可以用它来连接
  3. 使用IP地址而不是workMachine名称
  4. 更改了wcf服务路径
  5. 检查客户端计算机防火墙并添加以允许wcf客户端通过它
  6. 以上都失败了,没有用。 有没有人遇到过类似的问题?

    客户端计算机在Windows 7上

    WCF服务的SecurityMode设置为NONE - 因此不应该是一个问题。

    任何见解都会有所帮助

3 个答案:

答案 0 :(得分:2)

您可能需要通过代理对象显式提供客户端凭据。

假设下面代码中的代理对象实现了一个ClientBase接口。

proxy.ClientCredentials.Windows.ClientCredential.UserName = "clientaccount";
proxy.ClientCredentials.Windows.ClientCredential.Password = "S3cr3t1337Pwd";

答案 1 :(得分:1)

您是否 - 仅出于测试目的 - 使用HTTP端点在同一台计算机上公开相同的服务,并尝试从VPN客户端连接到该服务?

NetTcp是公司防火墙背后的绝佳选择 - 只是不知道Cisco VPN客户端如何在这里引起麻烦,这在使用基于http的协议时可能不会出现。现在只是一个疯狂的猜测,但如果你没有别的东西继续下去,试一试!

马克

答案 2 :(得分:1)

另一个想法是协助调试这类问题,使用CMD执行“netstat -a”(你可以附加-o开关并找到相关的进程ID)并查看有问题的端口当前是否打开,如果不是,您可能会遇到SMSvcHost.exe问题(这是用于管理IIS托管的TCP服务的Windows进程)。

之前我遇到过这个问题并通过重新启动以下服务来纠正它(显然,如果你正在处理一个实时生产系统,你需要仔细考虑这个问题):

NetTcpActivator(Net.Tcp侦听适配器) NetTcpPortSharing(Net.Tcp端口共享服务)

可能相关:

NetMsmqActivator(Net。管道侦听器适配器) NetPipeActivator(网络管道监听适配器)

希望这有助于某人!

学家