Как настроить службы WCF для работы через HTTPS без HTTP-привязки? - PullRequest
18 голосов
/ 01 февраля 2011

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

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

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

Спасибо.

Ответы [ 2 ]

44 голосов
/ 01 февраля 2011

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

<behaviors>
  <serviceBehaviors>
    <behavior> <!-- behavior can have name (must have name in WCF 3.x) -->
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
4 голосов
/ 01 февраля 2011

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

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