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

在我的情况下,协议映射下的绑定名称与端点上的绑定名称不匹配。 它们在下面的示例中匹配。