2012-01-12 7 views
4

Это должен быть простой вопрос.wcftestclient - могу ли я подключиться к определенной конечной точке?

Я не могу подключиться к определенной конечной точке с помощью инструмента WCFTestClient. У меня есть служебная конфигурация. как это:

<service name="CO.Services.SvcTest"> 
     <endpoint address="ep1" binding="basicHttpBinding" bindingConfiguration="" 
      bindingNamespace="http://api.CO.com/Services/Tester/ep1" 
      contract="CO.Services.ISvcTest" /> 
     <endpoint address="ep2" binding="basicHttpBinding" bindingConfiguration="" 
      bindingNamespace="http://api.CO.com/Services/Tester/ep2" 
      contract="CO.Services.ISvcTest_v2" /> 
     <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" 
      name="" contract="IMetadataExchange" /> 
     </service> 

Если я прохожу 'HTTP: // локальный: 2659/Tester.svc/ep1' или 'HTTP: // локальный: 2659/Tester.svc/EP2' я получаю «Не удается получить метаданные из ...», но если я передаю «http: // localhost: 2659/Tester.svc, он работает и показывает мне обе конечные точки.

Кто-нибудь знает, что мне не хватает?

EDIT1: Возможно ли это?

ответ

3

Это правильное поведение.

В WCF метаданные службы обслуживаются по базовому адресу службы по умолчанию.

Если вы размещаете свою услугу в пользовательском процессе, вы можете настроить URL-адрес базового адреса или даже добавить новые, используя baseAddresses configuration section. Если вы размещаете службу в IIS, которая, как представляется, является вашим делом, тогда базовый адрес всегда является URL-адресом файла .svc.

EDIT: Если вы хотите две совершенно отдельные конечные точки, то вам придется создать две реализации сервиса, по одному для каждого контракта, и настроить их с различными элементами в файле конфигурации. Пока конечные точки являются частью одной и той же службы, вы сможете получить метаданные только из базового адреса службы, который в вашем случае является URL-адресом файла .svc.

+0

Хорошо, возможно, я поставил вопрос неправильно ... тогда как я могу это сделать? :) – Learner

+0

@Cristi Что именно вы хотите достичь? –

+0

Я хочу использовать 2 разных конечных точки для целей управления версиями. Поэтому я хотел знать, как загружать только одну конечную точку за раз с помощью WCFTestTool. – Learner