0

Silverlight が WebClient クラスを使用してクロスドメイン リクエストを作成できるようにするには、サーバーのルートに clientaccesspolicy.xml が必要であることを理解しています。これでうまくいきました。Silverlight アプリをデバッグ モードでコンパイルすると、うまくいきます。ただし、Silverlight アプリをリリース モードでコンパイルすると、SecurityException が発生します。さらに奇妙なことに、Silverlight アプリが (他のドメイン) サーバーに要求を行っていないように見えます。チェックもせずに例外をスローしているだけです!

どんな助けでも大歓迎です...

PS: HTTP (ただし、ポート 30588) であり、リクエストは拡張子のないパスに対するものです (Web サービスは JSON を返します)。

4

1 に答える 1

2

LOL、私はそれを解決しました...リリースモード(デバッグではありません)で、クライアントはサーバーよりも速く起動していました(どちらもVSで「スタートアッププロジェクト」として設定されていました)。その結果、クライアント (Silverlight) は、サーバーが起動する前に clientaccesspolicy.xml を要求していましたが、サーバーがまだ実行されていなかったため、ホストを見つけることができませんでした。これは、前述の SecurityException として現れました。クライアントに Thread.Sleep を追加して「修正」しました(明らかに、ハックはソース管理/実際のビルドには入りません)。

では、学ぶべき教訓... ええと... Silverlight の SecurityException は、その原因についてより詳細に説明する必要があります...?

于 2009-09-08T07:47:22.573 に答える