WCF错误:由于目标计算机积极拒绝,无法连接

今天学习WCF时用C#重写测试例子时,发生错误:由于目标计算机积极拒绝,无法连接。找了N久,网上也没有找到实际的解决方法。查看netstat -an发现当自承载宿主运行时,没有侦听配置的端口。开始总以为是配置问题。到最后终于开始怀疑是程序的问题。

最后检查程序发现,

  1. using (ServiceHost host = new ServiceHost(typeof(Artech.WcfServices.Services.CalculatorService  )))  
  2.             {   
  3.                 Console.WriteLine("Started! ");  
  4.                 //启动承载  
  5.                 host.Open();  
  6.                   
  7.             }  
  8. Console.ReadKey();  

看似宿主在运行,其实,host已经过了 生存期被关闭了。由于console.readky在using外部,所以一直以为宿主是运行的。其实不然。

于是修改为:

[csharp] view plaincopy
  1. using (ServiceHost host = new ServiceHost(typeof(Artech.WcfServices.Services.CalculatorService  )))  
  2.             {   
  3.                 Console.WriteLine("Started! ");  
  4.                 //启动承载  
  5.                 host.Open();  
  6.                 Console.ReadKey();  
  7.             }  


一切OK。这个小问题却耗了我半下午时间来查找。

这也说明学习不能只停留在表面,对于using的用法实际上是没有掌握。惭愧!

原文地址:https://www.cnblogs.com/mqmelon/p/4757511.html