2011-07-14 69 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

請發表你是如何做的例子。 WPF是基於XAML的新GUI框架,並且所有功能都基於.NET框架,所以所有功能(即模型中的功能)都應該按原樣運行。

它可能是你有問題,實際上發射這些上傳位的命令。

+0

編輯的問題,這是我喜歡(與具有不阻止過程的調用線程) – MasterMastic

+0

使用異步時,在你的代碼,看的方法,則通常掛接到AsyncResponse或者傳遞某種在Async操作完成時調用的回調(在你的情況下,文件正在上傳)。你在哪裏運行上面的代碼?也就是說它來自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)