gpt4 book ai didi

c# - Silverlight 5 通过 ssl 连接到 WCF 服务

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:28 24 4
gpt4 key购买 nike

我正在处理一个 Silverlight 5 项目,我正在构建一个通过 SSL 连接到 WCF 服务的应用程序。当我通过 HTTP 连接时,这似乎在浏览器和浏览器外都有效。现在我已经实现了 SSL,它只适用于浏览器。有什么想法吗?

最佳答案

如果没有任何其他详细信息,很难猜测出了什么问题,但我最好的猜测是您使用的证书不受 Windows 信任,而受浏览器信任。您使用的是导入浏览器的自签名证书吗?如果你是,你也应该导入到 Windows 证书存储区。

在浏览器中运行时,Silverlight 将通过浏览器执行所有 http(s) 调用,因此将由浏览器决定证书是否可信。在浏览器之外,使用内置的 http 堆栈,后者又使用窗口的 CA 列表。

您可以通过将这些行添加到 App.xaml.cs 中的 Application_Startup() 来强制 Silverlight 使用特定的 http 堆栈:

 WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.BrowserHttp);
WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.BrowserHttp);

这将使您的应用程序在浏览器外运行时使用 IE 堆栈。您也可以反过来使用内置的 http 堆栈,即使在浏览器中运行时也是如此:

 WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp);
WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.ClientHttp);

关于c# - Silverlight 5 通过 ssl 连接到 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com