获取EndpointNotFoundException:WCF中没有主动监听的频道

时间:2017-05-12 18:08:35

标签: c# wcf exception-handling wcf-configuration

我创建了一个带有两个接口的WCF多服务,我试图为每个服务导出一个端点。 在下面您可以看到两个端点:

<service behaviorConfiguration="SAGBService_Behavior" name="SAGBService.SAGBService">
    <endpoint address="basic" binding="webHttpBinding" bindingConfiguration=""
      contract="SAGBService.ICalculeLactation" />
    <endpoint address="basic1" binding="webHttpBinding" bindingConfiguration=""
      contract="SAGBService.ISAGBService" />
  </service>

当我尝试调用我所拥有的服务并且错误地告诉我没有找到端点时。

  

[EndpointNotFoundException]:没有主动收听的频道   在'http://localhost:3197/SAGBService.svc/GetRapportTrimestiel/0/0/0/20150401/20150430&#39;。这是   通常由不正确的地址URI引起。确保地址到   发送消息的位置与服务所在的地址相匹配   听。

但是当我删除第二个端点时,它可以访问ICalculeLactation上的函数:

<service behaviorConfiguration="SAGBService_Behavior" name="SAGBService.SAGBService">
    <endpoint address="" binding="webHttpBinding" bindingConfiguration=""
      contract="SAGBService.ICalculeLactation" />
  </service>

问题是我对正在进行的功能感兴趣 ISAGBService

1 个答案:

答案 0 :(得分:2)

我认为错误说明了:This is often caused by an incorrect address URI

您的端点的地址为“basic1”,但URL请求不包含该地址。 http://localhost:3197/SAGBService.svc/GetRapportTrimestiel/0/0/0/20150401/20150430

VS

http://localhost:3197/SAGBService.svc/basic1/GetRapportTrimestiel/0/0/0/20150401/20150430