2011-07-14 9 views
0

一度私はWinForms FTPアップローダを作ったが、うまくいきました。 今、私は新しいプログラムと同じプログラムを作成しようとしていますが、WPFでも非常に整理されたプログラムです。WPFからFTPにアップロードするウィンドウ

WebClientUploadFileAsync [私はWinFormsで行ったように、それは呼び出しスレッドをブロックしません]を使用しようとしましたが、WPFでは、ファイルをアップロードするのではなく、絶対何も起こりませんでした。あたかも何も起こらなかったかのようにプログラムは動き続けました。 私はメソッドUploadFile [呼び出し元のスレッドをブロックします]を使用しようとしました。だから私はFTPWebRequestと同じを使用しようとしたが、プログラムはただ凍結する。

WPFがファイルをアップロードする特別な方法はありますか?またはアップロードすることもできますか? 私のコードは問題ないと確信しています。おかげさまで

編集: これはUploadFileAsyncのコードです:

 WebClient client = new WebClient(); 
     client.Credentials = new System.Net.NetworkCredential("user", "password"); 
     client.UploadFileAsync(new Uri("ftp://server.com/"), "STOR", "C:\\file.txt"); 

答えて

0

plsはあなたがこれをやっている方法の例を投稿してください。 WPFはXAMLをベースとした新しいGUIフレームワークであり、すべてが.NETフレームワークに基づいているため、モデル内のすべての機能がそのまま動作するはずです。

アップロードビットを実行するこれらのコマンドを実際に実行している可能性があります。

+0

を試してみてください、それは私が非同期を使用しているとき、あなたは通常AsyncResponseにフック、あなたのコードを見て(もちろん、呼び出し元のスレッドをブロックしないように持つ) – MasterMastic

+0

を好む方法です非同期操作が完了したときに呼び出されるコールバックを渡します(あなたの場合、ファイルがアップロードされています)。上記のコードをどこで実行していますか?つまりViewModelまたはModelのものです –

+0

いいえ、私はこれを使用せず、アップロードしています。 私はこのコードをボタンクリックで実行しています。 – MasterMastic

0

が質問を編集この

Dim wc As New System.Net.WebClient 
wc.Credentials = New System.Net.NetworkCredential("id", "pwd") 
wc.UploadFile("ftp://server.com/", filepath) 
関連する問題