3

HTTPS Web サービスと通信する Silverlight アプリがあります。

ほとんどのマシンでは正常に動作しますが、一部のマシンでは一貫して失敗します。

失敗したマシンで、HTTPS Web サービスに対して WebClient 要求を行うと、SecurityException を受け取ります。SecurityException 自体は、実際に失敗した理由についての手がかりを与えてくれません。

WebClient client = ...;
client.DownloadStringCompleted += OnCompleted;
client.DownloadStringAsyc("https://somewebservice/foo");

...

void OnCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    Console.WriteLine(e.Error); // Prints SecurityException. Message = "Security error"
}

Silverlight アプリが HTTPS Web サービスの呼び出しに失敗する理由として考えられるものは何ですか? これをデバッグするにはどうすればよいですか?

編集まだ回答がありません -- この問題を解決するために私が提供できる追加情報はありますか?

4

1 に答える 1

3

私たちはそれを理解しました。問題はクロスゾーン コールに帰着しました。

Silverlight アプリは、IE の通常のインターネット ゾーン (低信頼) にある foo.bar.com でホストされていました。

私たちの Web サービスは、IE のイントラネット ゾーン (高信頼) にある foo.ourcompany.com でホストされていました。

Silverlight アプリは、低セキュリティ ゾーンから高セキュリティ ゾーンへの Web 要求呼び出しを行うことができません。詳細については、 Silverlight URL アクセス制限に関する MSDN の記事を参照してください。私たちの場合、インターネット -> イントラネットへの移行は、低信頼から高信頼へと移行していたため、SL 呼び出しは SecurityException で失敗しました。

意見: Microsoft は、Web 要求の呼び出し中に SecurityException が発生した理由に関する情報を提供する必要があります。これにより、時間とお金を大幅に節約できたはずです。

于 2010-08-17T15:46:50.760 に答える