我当前的配置如下:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <standardEndpoints>
      <webHttpEndpoint>
        <!--Set limit to 5 megabytes-->
        <standardEndpoint helpEnabled="true" automaticFormatSelectionEnabled="true" maxReceivedMessageSize="5242880">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                        maxArrayLength="2147483647"
                        maxBytesPerRead="2147483647"
                        maxNameTableCharCount="2147483647" />

        </standardEndpoint>

      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>

当我为我的网站配置了httphttps绑定时,这就可以工作了。
我通过https连接到服务,一切都很好。
现在我想完全删除iis上的http绑定。我开始犯这样的错误:
找不到与
具有绑定WebHttpBinding的终结点。注册基址计划
是[https]。
[InvalidOperationException:找不到匹配的基地址
为具有绑定WebHttpBinding的终结点设置HTTP方案。注册
基本地址方案是[https]。]
system.servicemodel.servicehostbase.makeabsoluteuri(uri
相对论溶质,结合结合,urischemekeyeddcollection
基址)+16582113
system.servicemodel.description.configloader.configureendpointaddress(serviceendpointelement
ServiceEndpointElement、ServiceHostBase主机、ServiceEndpoint
端点)+117
system.servicemodel.description.configloader.configureEndpoint(标准端点元素
StandardEndpointElement和ServiceEndpointElement
ServiceEndpointElement,ContextInformation上下文,ServiceHostBase
主机,服务描述描述,服务终结点和终结点,
布尔省略设置终结点地址)+937
system.servicemodel.description.configloader.lookupEndpoint(serviceEndpointElement
ServiceEndpointElement,ContextInformation上下文,ServiceHostBase
主机,服务描述描述,布尔值
省略设置endpointaddress)+8728167
system.servicemodel.web.web servicehost.addAutomaticWebHttpBindingEndpoints(servicehost
宿主,idictionary`2 implementedcontracts,字符串
multipleCounterRorMessage,字符串StandardEndpointKind)+982
system.servicemodel.web.webservicehost.onopening()+311
system.servicemodel.channels.communicationobject.open(时间跨度
超时)+612
system.servicemodel.hostingmanager.activateService(字符串
标准化虚拟路径)+255
system.servicemodel.hostingmanager.ensurerviceavailable(字符串
标准化虚拟路径)+1172
[服务激活异常:服务'/demo/mobile'不能是
由于编译期间出现异常而激活。例外情况
消息是:找不到与的方案http匹配的基地址
具有绑定WebHttpBinding的终结点。注册基址
方案是[https]..]system.runtime.asyncResult.end(iasyncResult
结果)+901424
system.servicemodel.activation.hostedhttprequestasyncresult.end(IAsyncResult
结果)+178702
system.web.callhandlerExecutionStep.onAsynchandlerCompletion(IAsyncResult
银币)+136
我找到了一堆wcf的示例,但rest wcf在配置方面看起来不同,我想了解它为什么会比较好。从我的配置来看-它根本不应该在ssl上工作,但当存在https绑定时它确实工作。

最佳答案

按错误说的做…修好你的包扎

 <services>
      <service name="service" behaviorConfiguration="serviceBehavior">
        <endpoint address="" binding="webHttpBinding"
              bindingConfiguration="https"
contract="IContract" behaviorConfiguration="endpointBehavior">
        </endpoint>
      </service>
    </services>

<bindings>
 <webHttpBinding>
  <binding name="https" maxReceivedMessageSize="65536">
    <security mode="Transport" />
    <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                        maxArrayLength="2147483647"
                        maxBytesPerRead="2147483647"
                        maxNameTableCharCount="2147483647" />

  </binding>
 </webHttpBinding>
</bindings>

09-15 21:13