WCFexception:找不到与端点的scheme http匹配的基址
我正在尝试在IIS中的单独网站上托管WCF Web服务,其中https为443作为唯一绑定。
当我在使用绑定(http(80)/ https(443))的网站中使用它时,以下配置很有效。 如果我删除http绑定,它会开始抛出以下错误。
无法通过绑定BasicHttpBinding找到与端点的方案http匹配的基址。 注册的基地址方案是[https]。
如何在仅具有https绑定的IIS网站中使其工作?
<!---->
您的配置应该与此类似。 您可能必须更改
具体取决于您的身份validation需求。 下面的配置不需要任何身份validation。
这将允许具有basicHttpBinding
的WCF服务使用HTTPS。
我的问题是由IIS中缺少绑定引起的:右键单击站点>编辑绑定>添加> https
选择“IIS Express开发证书”并将端口设置为443然后我添加了另一个绑定到webconfig:
还添加到serviceBehaviours:
最终它工作,我在stackoverflow上检查此错误的解决方案都没有适用于我的特定场景,因此包括在这里,以防它帮助其他人
如果仅将https
配置为IIS中的站点绑定,则可以获得此项。
你需要添加http(80)
以及https(443)
– 至少我做了:-)
我根据@Szymon的答案尝试了绑定,但它对我不起作用。 我尝试了.net 4.5中的新的basicHttpsBinding ,它解决了这个问题。 这是适合我的完整配置。
仅供参考:我的应用程序的目标框架是4.5.1。 我为部署此wcf服务而创建的IIS网站仅启用了https绑定。
我的问题也是由于IIS中缺少https绑定引起的:选中的默认网站>在最右侧窗格中选择了绑定>添加> https
选择“IIS Express开发证书”并将端口设置为443
在我的情况下,协议映射下的绑定名称与端点上的绑定名称不匹配。 它们在下面的示例中匹配。
和