У меня есть один исполняемый файл размером 164 МБ на сервере для установки пакета sccm. Я пытаюсь загрузить этот файл на клиентскую машину, используя метод WebClient
Async
.
Файл частично загружается большую часть времени. Установка не работает из-за этого. Добавление моего кода ниже.
PS :
hostpath="https://naagentswhk.cognizant.com/US_IBCM_InstallerV1.exe"
filepath="D:\Users\417193\AppData\Local\SupportSoft\expertouchent\417193\exec"
Код:
private static Boolean DownloadFile(string HostPath,string Filepath)
{
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
// webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(Downloader_DownloadProgressChanged);
webClient.DownloadFileAsync(new Uri(HostPath), Filepath);
return true;
}
Эта проблема связана с функцией Async
?
2 ответа
Чтобы загрузить файл, я использую этот код, и он у меня работает
private void button1_Click(object sender, EventArgs e)
{
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
webClient.DownloadFileAsync(new Uri("https://naagentswhk.cognizant.com/US_IBCM_InstallerV1.exe"), @"D:\Users\417193\AppData\Local\SupportSoft\expertouchent\417193\exec\US_IBCM_InstallerV1.exe");
}
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
private void Completed(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Download completed!");
}
Посмотрите когда и как использовать асинхронное ожидание
private static async Task DownloadFile(string HostPath,string Filepath)
{
WebClient webClient = new WebClient();
await webClient.DownloadFileAsync(new Uri(HostPath), Filepath);
}
// usage
private async void SomeMethod(){
await DownloadFile("url", "path local');
// it's ready for use.
ReadFile("path local)// File is already downloaded at this point
}
Похожие вопросы
Связанные вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.