我已經編寫了一個WCF Web服務供Silverlight應用程序使用。最初,該服務只需要一個基本的http綁定。我們現在需要能夠部署該服務以便在http和https下使用。我已經找到了一些web.config的設置,允許我這樣做,如下所示:使用http和https綁定/端點部署WCF服務
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="SilverlightFaultBehavior">
<silverlightFaults />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="CxtMappingWebService.CxtMappingWebServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="SecureHttpBinding">
<security mode="Transport" />
</binding>
<binding name="BasicHttpBinding">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="CxtMappingWebService.CxtMappingWebService" behaviorConfiguration="CxtMappingWebService.CxtMappingWebServiceBehavior">
<endpoint address="" bindingConfiguration="SecureHttpBinding" binding="basicHttpBinding" contract="CxtMappingWebService.ICxtMappingWebService" behaviorConfiguration="SilverlightFaultBehavior" />
<endpoint address="" bindingConfiguration="BasicHttpBinding" binding="basicHttpBinding" contract="CxtMappingWebService.ICxtMappingWebService" behaviorConfiguration="SilverlightFaultBehavior" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
不幸的是,這有一個問題。
此Web服務需要部署到數百位客戶的服務器,而不是所有的服務器都將使用https。將它部署到沒有在IIS中設置的https綁定的服務器會導致它失敗。如果沒有在IIS中設置https綁定,是否有一種方法可以在缺省情況下在web.config中同時擁有這兩個綁定?
我們已經爲此問題提供了一個可能的解決方案,但它並不能真正適合我們的部署要求。
以前有沒有其他人遇到過這樣的事情,你是如何解決它的?
什麼是*** silverlightFaults ***? – Kiquenet 2016-04-29 11:01:36