3
我有一種方法將一個文件上傳到服務器。現在正在工作,除了方法上的任何不好的編碼(Im新任務庫)。任務繼續執行多個任務
這裏是文件上載到服務器的代碼:
private async void UploadDocument()
{
var someTask = await Task.Run<bool>(() =>
{
// open input stream
using (System.IO.FileStream stream = new System.IO.FileStream(_cloudDocuments[0].FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
using (StreamWithProgress uploadStreamWithProgress = new StreamWithProgress(stream))
{
uploadStreamWithProgress.ProgressChanged += uploadStreamWithProgress_ProgressChanged;
// start service client
SiiaSoft.Data.FieTransferWCF ws = new Data.FieTransferWCF();
// upload file
ws.UploadFile(_cloudDocuments[0].FileName, (long)_cloudDocuments[0].Size, uploadStreamWithProgress);
// close service client
ws.Close();
}
}
return true;
});
}
然後我有一個列表框,我可以拖動&中的多個文件所以我想要做的就是到ListBox中做一個for循環文件,然後撥打電話UploadDocument();
,但我想先上傳listBox中的第一個文件,然後完成後繼續第二個文件等等...
任何線索的最佳方法呢?
非常感謝。
我只是這樣做,一個問題..當我調用UploadAllDocuments();其下劃線爲綠色,當我懸停時,我得到:「因爲這個調用沒有等待,在調用前繼續執行當前的方法......」任何線索? – VAAA 2013-02-27 16:31:32
@VAAA:好的,我們沒有任何關於你從哪裏調用的內容......我們甚至不知道這是什麼類型的應用程序...所以我不能真正幫助你的代碼沒有顯示。 – 2013-02-27 16:46:40
它是一個桌面應用程序,並通過點擊一個按鈕調用UploadAllDocuments()。 – VAAA 2013-02-27 16:48:06