我们的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