我做了一個應用程序,該應用程序根據文件夾中當前版本的.exe文件從網絡服務器上下載文件,它具有所有檢查和一切工作正常,但我需要一種方法使其停止並等到文件提取完成後,對於慢速PC和/或大文件的情況,這怎麼可能?我也想在提取完成後刪除文件。C#等待文件提取
使用winrar sfx compression進行提取,然後文件由應用程序下載並在之後啓動。
在此先感謝。 下面是代碼,請注意,這是我第一次使用網絡工作,而且我仍然自學,所以如果有任何問題,請留意我的意思。
private void Completed(object sender, AsyncCompletedEventArgs e)
{
Process.Start("update.exe");
}
private void downloadfile(string filenumber)
{
MessageBox.Show("Download working");
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri("http://127.0.0.1/Update/update"+filenumber+".exe"), @"update.exe");
label1.Text = "Downloading Update" + filenumber + "...";
string filepath = "http://127.0.0.1/Update/update"+filenumber+".exe";
webClient.OpenRead(filepath);
Int64 bytes_total = Convert.ToInt64(webClient.ResponseHeaders["Content-Length"]);
string updatelength = Convert.ToString((bytes_total/1024).ToString());
label2.Text = updatelength + "KB";
}
你如何進行提取? – CodeCaster
查看並行任務庫http://msdn.microsoft.com/en-us/library/dd537609(v=vs.110).aspx。也許使用Task.WaitAll – reggaeguitar
我使用winrar壓縮文件,使它們在後臺自動運行並通過C#自動啓動文件。 –