WCF开发中遇到的问题及解决系列(一):运行WCF客户端时碰到错误“AddressAlreadyInUseException”
最近忙着做毕业设计,其中需要用到WCF实现与服务端的通讯,在公司做了一个Demo实现了调用服务发送一个消息,然后服务端用回调将结果返回的功能,调试通过。回到寝室,准备继续研究,运行程序确出现了“AddressAlreadyInUseException: HTTP could not register URL http://+:80/Temporary_Listen_Addresses/51E705D5-E7B5-472B-B6B9-A6A60FE93B7A/ because TCP port 80 is being used by another application.”的错误,一阵郁闷。只好上网google,在一堆英文字母中,终于发现了问题所在,并予以解决,现将解决方法及原因与大家分享。
产生这个错误的原因可以简单的分为以下2种:
一。WCF服务使用了80端口
这种情况下有以下2种解决方案:
1.停止IIS服务(用"net stop w3svc")
2.更改你的服务的端口
二。WCF服务中使用了"WsDualHttpBinding "
这种情况下你必须覆盖默认的 ClientBaseAddress 属性,可以通过代码的方式:
binding.ClientBaseAddress = "http://localhost:8000/myClient/"
也可以通过配置文件:
<wsDualHttpBinding clientBaseAddress="http://localhost:8000/myClient/"/>
产生这个错误的具体原因及其他相关信息请参见 原文
希望这篇文章能对大家有帮助!