私はSilverlight5プロジェクトに取り組んでおり、SSLを介してWCFサービスに接続するアプリケーションを構築しています。これは、HTTP経由で接続しているときに、ブラウザー内およびブラウザー外で機能するように見えました。SSLを実装したので、ブラウザでのみ機能します。何か案は?
1 に答える
0
追加の詳細がなければ、何が問題になっているのかを推測するのは難しいですが、使用する証明書はWindowsによって信頼されていませんが、ブラウザーによって信頼されていると思います。ブラウザにインポートした自己署名証明書を使用していますか?もしそうなら、Windows証明書ストアにもインポートする必要があります。
ブラウザ内で実行する場合、Silverlightはブラウザを介してすべてのhttp呼び出しを実行するため、証明書が信頼できるかどうかを決定するのはブラウザです。ブラウザからは、組み込みの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);
于 2012-10-17T16:13:21.403 に答える