我們的Silverlight應用程序可以在兩個HTTP和HTTPS運行(SSL,使用運輸安全)模式。在我們的ServiceReferences.ClientConfig
文件,我們只是配置了服務端點是這樣的:Silverlight中自動選擇之間的HTTP和HTTPS安全傳輸模式
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="DefaultEndpoint"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
<!-- Enable for SSL: mode="Transport" -->
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="/services/DefaultService.svc"
binding="basicHttpBinding"
bindingConfiguration="DefaultEndpoint"
contract="OurNamespace.IOurContractAsync"
name="DefaultEndpoint" />
</client>
</system.serviceModel>
</configuration>
配置的端點可以在兩種模式下進行訪問。它僅取決於加載XAP文件的上下文:從http://example.com/slpage.html
或https://example.com/slpage.html
。不幸的是,我們必須手動將「None」和「Transport」之間的設置設置爲安全模式。其他一切已經按照要求工作。當安全模式是「無」,我們通過https訪問,我們得到一個異常,「..提供了..https但預期http ...」,反之亦然。任何讓Silverlight自動決定使用哪種安全模式的機會?這個問題最簡單的解決方案是什麼?
在此先感謝
托馬斯
耶看起來比傳遞https = true參數更好,如果你可以讀它從計劃沒有問題。 – 2011-02-18 14:48:18