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/"/>

产生这个错误的具体原因及其他相关信息请参见 原文

希望这篇文章能对大家有帮助!

posted on 2008-04-12 14:00  yingql  阅读(1042)  评论(3编辑  收藏  举报

导航