我已经将我的WCF服务配置为使用SSL,但只有当IIS网站中存在HTTP绑定时,它才能工作。当HTTP绑定不存在并且只存在HTTPS绑定时,我得到以下错误:
ServiceMetadataBehavior的HttpGetEnabled属性设置为true,并且HttpGetUrl属性是相对地址,但没有http基地址。提供http基址或将HttpGetUrl设置为绝对地址。
如何解决此问题?
谢谢。
发布于 2011-02-02 00:13:06
按如下方式修改您的配置:
<behaviors>
<serviceBehaviors>
<behavior> <!-- behavior can have name (must have name in WCF 3.x) -->
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
发布于 2011-02-01 22:32:24
您需要使用mexHTTPSBinding而不是mexHTTPBinding
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
发布于 2020-11-16 18:01:15
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
由于您将httpGetEnabled设置为true,因此需要提供一个http地址。HTTP绑定是提供地址的一种方式。因此,如果您删除它,您需要找到另一种方法来提供地址。以下是提供地址的两种方式。
HttpGetUrl:
<serviceMetadata httpGetEnabled="true" httpGetUrl="[your service address]" />
HTTP基地址:
<host>
<baseAddresses>
<add baseAddress="[your service address]" />
</baseAddresses>
</host>
https://stackoverflow.com/questions/4863590
复制相似问题