Как настроить службы WCF для работы через HTTPS без привязки HTTP?

Я настроил свои службы WCF на работу с SSL, но он работает ТОЛЬКО, если привязка HTTP существует на веб-сайте IIS. Когда привязка HTTP не существует и существует только привязка HTTPS, я получаю следующую ошибку:

Свойство HttpGetEnabled для У ServiceMetadataBehavior установлено значение true и свойство HttpGetUrl является относительный адрес, но нет http базовый адрес. Либо поставьте http базовый адрес или установить HttpGetUrl на абсолютный адрес.

Как я могу решить эту проблему?

Спасибо.

Ответ 1

Измените конфигурацию следующим образом:

<behaviors>
  <serviceBehaviors>
    <behavior> <!-- behavior can have name (must have name in WCF 3.x) -->
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

Ответ 2

вам нужно использовать mexHTTPSBinding неидентифицировать mexHTTPBinding

<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />