Две привязки для одного контракта - PullRequest
0 голосов
/ 10 января 2011

У меня есть контракт, для которого у меня есть basicHttpBinding.

            <endpoint address="http://localhost:49654/BookShopService.svc" binding="basicHttpBinding" contract="BookShop.IBookShopService">
            </endpoint>

Я хочу добавить еще одну конечную точку с wsHttpBinding для той же привязки.Какие шаги я должен предпринять?Какой будет результирующий адрес?

Ответы [ 2 ]

2 голосов
/ 10 января 2011

Просто добавьте другую конечную точку с другим адресом, она должна выглядеть следующим образом:

<endpoint address="http://localhost:49654/BookShopService.svc" binding="basicHttpBinding" contract="BookShop.IBookShopService">
</endpoint>
<endpoint address="http://localhost:49654/BookShopServiceWS" binding="wsHttpBinding" contract="BookShop.IBookShopService">
</endpoint>

На MSDN .

есть праймер.
1 голос
/ 10 января 2011

Если вы работаете в IIS, то вам не следует указывать полностью определенный адрес - адрес будет определяться IIS, поэтому его предоставление может вызвать проблемы с развертыванием. Итак, используя ответ Грега Сэнсома в качестве основы, я бы предложил

<endpoint address="" 
    binding="basicHttpBinding" 
    contract="BookShop.IBookShopService" /> 
<endpoint address="ws" 
    binding="wsHttpBinding" 
    contract="BookShop.IBookShopService" />

, где ws - это относительные адреса расположения службы.

например.

...