현재 HTTP를 통해서만 노출되는 ServiceContract IEventService
에 의해 정의 된 Http Rest WCF4 서비스가 있습니다.WCF 하나의 ServiceContract에서 HTTP와 HTTPS를 다시 혼합하기
난 단지 HTTPS를 통해 작동하도록 OperationContracts의 일부을 만드는 임무가 주어왔다 그래서 별도의 ServiceContract에 그 방법을 분할 한 IEventServiceHTTPS
은 자동으로 IIS7.5을 사용하여 내 dev에 상자에이 호스팅라는 서명 된 인증서 인 경우 IEventServiceHTTPS
의 일부인 메서드는 HTTPS를 통해 전달되며 HTTP를 통해 정상적으로 호출됩니다.
그러나 IEventService
에 의해 노출 된 HTTP 메소드는 작동하지 않습니다.
나는 HTTP 메소드에 액세스 할 때 다음과 같은 얻을 : 내 변경
HTTP Error 403.4 - Forbidden
The page you are trying to access is secured with Secure Sockets Layer (SSL).
의 Web.config :
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true">
<serviceActivations>
<add service="Api.EventService" relativeAddress="EventService.svc" factory="Api.UnityServiceHostFactory"/>
</serviceActivations>
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="Api.EventServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="Api.EventServiceBehavior" name="Api.EventService">
<endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" bindingConfiguration="webBindingHTTP" contract="Api.IEventService"/>
**<endpoint address="" binding="webHttpBinding" behaviorConfiguration="WebBehavior" bindingConfiguration="webBindingHTTPS" contract="Api.IEventServiceHTTPS"/>**
</service>
</services>
<bindings>
<webHttpBinding>
<binding name="webBindingHTTP">
<security mode="None"></security>
</binding>
**<binding name="webBindingHTTPS">
<security mode="Transport">
</security>
</binding>**
</webHttpBinding>
</bindings>
</system.serviceModel>
어떤 도움을 크게 감상 할 수, 감사합니다.
** 정확하게 ** 잘못되었습니다. 많은 감사합니다! 올리버 –