WCF TCP 错误代码 10061: 由于目标计算机积极拒绝

时间:2021-07-13 07:13:06

表象是连不上服务端,本质原因多种多样,网络硬件问题导致的网络不通、服务本身问题或没有启动、或者防火墙阻隔等等不一而足。

1.ping看服务端能否ping通;

2.telnet ip地址 端口 ,看看是否通;

此时如果端口通,看看与此端口绑定的服务是不是你需要的WCF服务,命令netstat -ano看,最后一列代表进程ID

如果不通,说明服务未成功启动

3.服务未启动原因有多种,最直接的方法是用windbg在服务器上查看host对象是否存活,如果host对象在内存中不存在,需要跟踪堆栈看哪一步退出了

4.微软提供了一套使用windows服务来驻留WCF,此时不要被表象所迷惑,提供服务的仍然是host,此时也可以用windbg看服务对应的程序,attach后看host对象是否存活

5.如果所有的方式试完仍然在不到解决方案,建议使用最原始的方法调试看看,有时候以为配置不全的问题内部爆了异常没有捕捉,手动调试不失为一个直观的办法:

        static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(YourBusinessService)))
{ host.Open();
Console.WriteLine("任意键退出...");
Console.ReadKey();
}
}