मैं इंटरनेट से अनेक फ़ाइलों को डाउनलोड करने के लिए कोशिश कर रहा हूँ और उन सभी को समाप्त करने के लिए इंतजार के बाकी को क्रियान्वित करने से पहले समाप्त होने की प्रतीक्षा। यह एक सी # कंसोल एप्लिकेशन है जो मैं चला रहा हूं, इसलिए प्रगति पट्टी ईवेंट हैंडलर आवश्यक नहीं होना चाहिए। हालांकि यह वर्तमान में कोड निष्पादित करना जारी रखता है भले ही सभी फाइलें डाउनलोड नहीं की गई हैं।डाउनलोड एकाधिक फ़ाइलों async और उन सभी कोड
- 1. सभी फ़ाइलों को डाउनलोड करना!
- 2.Finished डाउनलोड फ़ाइल एक
- 3.Finished सभी फ़ाइलों को डाउनलोड!
- 4.Finished डाउनलोड कर रहा है फ़ाइल बी
- 5.Finished डाउनलोडिंग फ़ाइल सी
आप कैसे का इंतजार करेंगे जब तक सभी async डाउनलोड फ़ाइलों पूरा कर लें। WebClient
की
private void DownloadMultipleFiles(List<DocumentObject> doclist)
{
foreach(var value in doclist){
try
{
using (WebClient webClient = new WebClient())
{
string downloadToDirectory = @Resources.defaultDirectory + value.docName;
webClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
webClient.DownloadFileCompleted += client_DownloadFileCompleted;
webClient.DownloadFileAsync(new Uri(value.docUrl), @downloadToDirectory);
//Add them to the local
Context.listOfLocalDirectories.Add(downloadToDirectory);
}
}
catch (Exception)
{
Errors.printError("Failed to download File: " + value.docName);
}
}
}
हेड अप के लिए धन्यवाद। सुनिश्चित करें कि मेरी स्थानीय डायरेक्टरीज़ थ्रेड सुरक्षित है, मेरे स्वयं के पूर्णता ईवेंट हैंडलर को भी जोड़ा गया है। सारी मदद के लिए धन्यवाद। इससे मुझे अपने अन्य एसिंक कार्यों के साथ समस्याओं को समझने में भी मदद मिली। – user2100493
यह 4.5 – Natxo
के बाद से उपलब्ध है क्या अपवाद फ़ाइल डाउनलोड करने में विफल रहा है अगर यूआरएल रिटर्न से डाउनलोड करने का प्रयास कर रहा है तो 404 नहीं मिला? –