无法在basicHttpBinding上定义新端点

时间:2011-05-02 07:35:34

标签: wcf

我想定义两个代表两个不同接口的端点

<services>
  <service behaviorConfiguration="ServiceBehavior" >
    <endpoint 
        binding="basicHttpBinding" 
        bindingConfiguration="LargeData_basicHttpBinding" 
        contract="Contracts.IService1" />
    <endpoint 
        binding="basicHttpBinding" 
        bindingConfiguration="LargeData_basicHttpBinding" 
        contract="Contracts.IService2" />
    <endpoint 
        address="mex" 
        binding="mexHttpBinding" 
        contract="IMetadataExchange" />
  </service>
</services>

当我尝试为IService2添加第二个端点时,我只能从浏览器访问service2 - 如果我从配置文件中删除service2 - 我可以从浏览器访问service1&amp;&amp;服务2。

我的错误是什么?

1 个答案:

答案 0 :(得分:2)

您没有为端点指定任何本地/相对地址!因此,它们都使用与虚拟目录相同的基址/位置。

尝试为两者指定相对地址:

<endpoint 
    address="Service1"
    binding="basicHttpBinding" 
    bindingConfiguration="LargeData_basicHttpBinding" 
    contract="Contracts.IService1" />
<endpoint 
    address="Service2"
    binding="basicHttpBinding" 
    bindingConfiguration="LargeData_basicHttpBinding" 
    contract="Contracts.IService2" />

现在您应该可以访问这两个服务,一个在

http://yourserver/virtualdirectory/YourService.svc/Service1

和另一个

http://yourserver/virtualdirectory/YourService.svc/Service2