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. Console.ReadKey();

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

于是修改为:

  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的用法实际上是没有掌握。惭愧!

上一篇:win10+wget 收藏


下一篇:IOS开发UI篇之tableView 的用法详解