Не удалось определить новую конечную точку на basicHttpBinding - PullRequest
0 голосов
/ 02 мая 2011

Я хочу определить две конечные точки, которые будут представлять два разных интерфейса

<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 && service2.

В чем моя ошибка?

1 Ответ

2 голосов
/ 02 мая 2011

Вы не указываете локальные / относительные адреса для конечных точек! Поэтому они оба используют один и тот же базовый адрес / местоположение вашего виртуального каталога.

Попробуйте указать относительный адрес для обоих:

<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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...