0

これは非常に基本的な形式で、Page.xaml コード ビハインドにある xml に対する WebClient リクエストがあります。何かのようなもの:

    public Page()
    {
        InitializeComponent();

        Uri uri = new Uri("Dummy.xml", UriKind.Relative);

        WebClient webClient = new WebClient();
        webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
        webClient.DownloadStringAsync(uri);
    }

    void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Error == null)
        {
            //Do something
        }
    }

asp.net でホストされたページを介して実行するように Silverlight プロジェクトをセットアップし、Dummy.xml を (xap に関連する) ClientBin フォルダーに配置すると、正常に動作します。

自動生成されたテスト ページ オプションのみを使用してプロジェクトをセットアップし、xml を xap に相対的に配置すると、要求は機能しません (ただし、完了イベントは発生します)。

私の質問はなぜですか?動的にダウンロードする Silverlight プロジェクトがサーバー上になければならないという要件はありますか?

乾杯J

4

2 に答える 2

1

まず、自動生成されたテスト ページを使用しないようにしてください。xap がファイルとしてアクセスされているときに、デフォルト モデルの Silverlight セキュリティがどのように機能するかを理解する必要があります。

あなたの質問に答えるために、許可されていないクロスドメイン アクセスを防ぐように設計されたセキュリティに遭遇しています。

于 2009-07-29T11:52:57.650 に答える
0

はい、接続するための Web サーバーはありません。自動生成されたテスト ページは、Visual Studio の Web サーバーを呼び出すことなく、その XAP を直接開くだけです。これを行う場合は、別のオプションを使用して、Silverlight プロジェクトで Web サイトを作成する必要があります。または、XML ファイルをリソースとして XAP に埋め込み、リソースとしてアクセスすることもできます。

于 2009-07-29T08:40:06.980 に答える