我当前的配置如下:
<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>
当我为我的网站配置了
http
和https
绑定时,这就可以工作了。我通过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>