2011-07-16 16 views
0

私は銀色の新作で少しの方向性を探しています。私は銀色で書かれた簡単なギャラリーアプリを持っています。私は、この例では、アプリケーションが見るために知っているフォルダ内のサーバーにxmlまたはjsonファイルをftpするだけで、Silverlightアプリケーションでファイルを開くことができます。このファイルには、ギャラリーカテゴリ、タイトルのdesc、画像、タイトル、descが含まれています。新しいアップロードされたカテゴリを表示するためにこのデータを脱シリル化します。私はwpfでこのようなことを何度もやったことがありますが、これをSilverlightで処理する最良の方法を理解することはできません。どなたかおかげさまで、ありがとうございました。詳細をお知らせください。私はまた、画像をアップロードするだろう、xmlまたはjsonファイルには、それらにリンクする情報が含まれています。silverlight - ファイルを開く

答えて

1

このためにWebClientを使用する必要があります。 ここで少し例を次に示します。

public MainPage() 
     { 
      InitializeComponent(); 

      GetFileContent("http://localhost/test/myjson.txt", ProcessResult, error => { throw error; }); 
     } 

     private void ProcessResult(String result) 
     { 
      //Do stuff here 
     } 

     private void GetFileContent(String uri, Action<String> onData, Action<Exception> onError) 
     { 
      var wc = new WebClient(); 

      DownloadStringCompletedEventHandler handler = null; 

      handler = (s, args) => 
      { 
       wc.DownloadStringCompleted -= handler; 
       if(args.Error != null) 
       { 
        if(onError != null) 
         onError(args.Error); 
        return; 
       } 

       if(onData != null) 
        onData(args.Result); 
      }; 
      wc.DownloadStringCompleted += handler; 

wc.DownloadStringAsync(新しいウリ(URI、UriKind.Absolute)); }

ファイルにアクセスするにはclientaccesspolicyが必要なので、http://msdn.microsoft.com/en-us/library/cc197955(v=vs.95).aspxと表示されている場合があります。

これは必要なのですか?

BR、

TJ答えるため

+0

おかげで、私は何かを理解していることを確認します。私のアプリやアルバムxmlやjsonファイル、画像は同じサーバー上に座っていますが、私のアカウントのルートにインストールされている/インストールされていますが、アルバムxmlファイルは/ albumのような場所にあります。おそらく/ Album/Imagesにありますが、xmlファイルをダウンロードする必要がありますか?これは、Silverlightアプリがクライアント側で実行されているためですか?サーバーからファイルを取得する必要がありますか? – Terco

+0

はい、それをダウンロードする必要がありますので、slアプリケーションがクライアントで実行されています。あなたはあなたのxapにファイルを置くことができます、そしてあなたはそれをもう一度ダウンロードする必要はありません。しかし、あなたは本当に動的ではありません。ファイルを変更するたびに、再コンパイルして再デプロイする必要があります。 – TerenceJackson