间歇性WCF错误:集合已包含带有方案http的地址

时间:2010-07-02 00:50:50

标签: wcf

我得到了这个间歇性的WCF错误:

此集合已包含方案http的地址。此集合中每个方案最多只能有一个地址。 参数名称:item

我尝试了各种解决方案,从谷歌搜索和stackoverflow,他们工作了一段时间,直到错误再次出现,然后我尝试另一种解决方案。真的很令人沮丧。现在这对我来说都是伏都教,因为我不明白为什么会发生这种情况。看来如果我触摸webconfig文件并保存它,错误就会消失。我不知道这是否会导致它,但我的webconfig嵌套在一个特殊的webservices文件夹下。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

看看如何在位于...

的IIS .config文件中定义/配置IIS绑定
  

C:\ Windows \ System32下\ INETSRV \设置\的applicationHost.config

找到您的Site-Site-Bindings部分,然后查找定义了相同协议的绑定。示例:

<binding protocol="http" bindingInformation="*:80:" />
<binding protocol="net.tcp" bindingInformation="8081:*" />
<binding protocol="net.pipe" bindingInformation="*" />
<binding protocol="net.msmq" bindingInformation="localhost" />
<binding protocol="msmq.formatname" bindingInformation="localhost" />
<binding protocol="https" bindingInformation="*:443:" />
<binding protocol="net.tcp" bindingInformation="9000:*" />

请注意,“net.tcp”协议有两个绑定。上面的示例配置将引发以下错误:

  

此集合已包含方案net.tcp的地址。此集合中每个方案最多只能有一个地址。参数名称:项目

我在使用命令提示符(而不是IIS管理器)添加net.tcp协议时遇到此错误:

  

%windir%\ system32 \ inetsrv \ appcmd.exe设置网站“默认网站” - +绑定。[protocol-'net.tcp',bindinginformation -'9000:*']

答案 1 :(得分:0)

如果您有多个http基本端点(即WsHttpBinding和BasicHttpBinding)并尝试同时添加它们,则会出现此错误。