Iis 将两个绑定添加到web.config
我正在尝试启用一个将使用两个绑定的应用程序。 因为我将把它分发给客户机,所以有些将有对HTTP和HTTPS开放的IIS,有些可能只有其中一个。 根据IIS的配置,我无法完成在HTTP和HTTPS上提供访问权限的任务。 这是我的web.config:Iis 将两个绑定添加到web.config,iis,web-config,Iis,Web Config,我正在尝试启用一个将使用两个绑定的应用程序。 因为我将把它分发给客户机,所以有些将有对HTTP和HTTPS开放的IIS,有些可能只有其中一个。 根据IIS的配置,我无法完成在HTTP和HTTPS上提供访问权限的任务。 这是我的web.config: <system.serviceModel> <services> <service behaviorConfiguration="RoutingBehavior" name="System.Ser
<system.serviceModel>
<services>
<service behaviorConfiguration="RoutingBehavior" name="System.ServiceModel.Routing.RoutingService">
<endpoint address="" behaviorConfiguration="WebBehaviorHTTPS" binding="basicHttpBinding" bindingConfiguration="BasicSSL" name="RouterEndpoint" contract="System.ServiceModel.Routing.IRequestReplyRouter" >
</endpoint>
<endpoint address="http://" behaviorConfiguration="WebBehavior" binding="basicHttpBinding" bindingConfiguration="Basic" name="RouterEndpoint" contract="System.ServiceModel.Routing.IRequestReplyRouter" >
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RoutingBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="WebBehaviorHTTPS">
<webHttp/>
</behavior>
<behavior name="WebBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="Basic" receiveTimeout="02:30:00" sendTimeout="02:30:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="None">
<transport clientCredentialType="None" />
</security>
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
</binding>
<binding name="BasicSSL" receiveTimeout="02:30:00" sendTimeout="02:30:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="False" multipleSiteBindingsEnabled="True">
<serviceActivations>
<add relativeAddress="EZRouterService.svc" service="System.ServiceModel.Routing.RoutingService, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" factory="Equivio.Zoom.Web.EZRouterServiceFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
</system.serviceModel>
编辑:当访问应用程序时,使用第一个绑定(上面列表中的第一个)。当我切换到HTTP环境时,我无法访问 调试时,我得到以下异常:
其他信息:找不到与绑定BasicHttpBinding的终结点的方案http匹配的基址。注册的基址方案是[https]。我建议为两个服务端点提供一个唯一的名称值,并设置它们使用相同的地址,因为它们已经具有不同的bindingConfiguration和behaviorConfiguration
<services>
<service behaviorConfiguration="RoutingBehavior" name="System.ServiceModel.Routing.RoutingService">
<endpoint address="" behaviorConfiguration="WebBehaviorHTTPS" binding="basicHttpBinding" bindingConfiguration="BasicSSL" name="RouterEndpointSSL" contract="System.ServiceModel.Routing.IRequestReplyRouter" >
</endpoint>
<endpoint address="" behaviorConfiguration="WebBehavior" binding="basicHttpBinding" bindingConfiguration="Basic" name="RouterEndpointBasic" contract="System.ServiceModel.Routing.IRequestReplyRouter" >
</endpoint>
</service>
</services>
我相信,对于您当前的relativeAddress=“EZRouterService.svc”和endpoint address=“http://”,由于该值不是完整地址,http需要使用的URI是http://{baseAddress}/EZRouterService.svc/http://可能会引起一些混淆 请解释在访问应用程序时使用第一个绑定时“无法完成任务”的含义(第一个绑定是上面列表中的第一个绑定)。当我切换到HTTP环境时,我无法访问。谢谢。我知道这个评论是在一段时间后发表的,但它奏效了。