如何配置WCF服务以通过HTTPS工作而无需使用HTTP绑定?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

我已将WCF服务配置为使用SSL,但只有在IIS网站中存在HTTP绑定时才能使用它。当HTTP绑定不存在并且仅存在HTTPS绑定时,出现以下错误:

The HttpGetEnabled property of ServiceMetadataBehavior is set to true and the HttpGetUrl property is a relative address, but there is no http base address. Either supply an http base address or set HttpGetUrl to an absolute address.

我该如何解决这个问题?

提问于
用户回答回答于

以下列方式修改配置:

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

需要使用mexHTTPSBinding而不是mexHTTPBinding

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

扫码关注云+社区