Как настроить приложение 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?

Другие вопросы по тегам