Как настроить приложение WCF, если для параметра multipleSiteBindingsEnabled установлено значение true
Я пытаюсь сделать приложение WCF, которое слушает служебную шину. Следующий фрагмент для определения службы в Web.config работает, когда multipleSiteBindingsEnabled
установлен в false
:
<service behaviorConfiguration="MyServiceTypeBehavior"
name="WcfService3.Service1">
<endpoint address="https://namespace.servicebus.windows.net/WebHttpService"
behaviorConfiguration="sharedSecretClientCredentials"
binding="webHttpRelayBinding"
bindingConfiguration="WebHttpRelayEndpointConfig"
name="RelayEndpoint"
contract="WcfService3.IService1"/>
</service>
когда multipleSiteBindingsEnabled
установлен в true
Я изменил конфиг на следующее:
<service behaviorConfiguration="MyServiceTypeBehavior"
name="WcfService3.Service1">
<host>
<baseAddresses>
<add baseAddress="https://namespace.servicebus.windows.net/" />
</baseAddresses>
</host>
<endpoint address="WebHttpService"
behaviorConfiguration="sharedSecretClientCredentials"
binding="webHttpRelayBinding"
bindingConfiguration="WebHttpRelayEndpointConfig"
name="RelayEndpoint"
contract="WcfService3.IService1"/>
</service>
Это приводит к следующей ошибке: Could not find a base address that matches scheme https for the endpoint with binding WebHttpRelayBinding. Registered base address schemes are [http].
Есть ли что-то еще, что я должен объявить для сервиса, чтобы он зарегистрировал https как схему? Обратите внимание, что у меня есть режим безопасности для привязки в качестве транспорта.
1 ответ
Если для множественного набора элементов установлено значение true, это будет несовместимо с использованием ретранслируемых конечных точек. Это связано с тем, что ретранслируемым конечным точкам требуется абсолютный адрес в конфигурации конечной точки (конечная точка ретрансляции служебной шины), а для работы несколько SiteBindingsEnabled нужны конечные точки с относительными адресами.
Что вы пытаетесь достичь, установив для параметра multipleSiteBindingsEnabled значение true?