Файл не докачивается полностью

224
09 декабря 2016, 08:48

Когда пытаюсь скачать файл с сервера, файл начинает качаться в корректной папке, но почему то не хочет продолжать качаться. Почему? Вот код:

        using (WebClient client = new WebClient()) 
        {
            client.DownloadProgressChanged += delegate(object send, DownloadProgressChangedEventArgs a) { pb.Value = a.ProgressPercentage; };
            client.DownloadFileCompleted += delegate(object send, AsyncCompletedEventArgs a) { MessageBox.Show("Загрузка билда завершена"); pb.Visible = false; };
            pb.Visible = true;
            if(File.Exists(FolderDialog.SelectedPath + "/" + version))
                File.Delete(FolderDialog.SelectedPath + "/" + version);
            client.DownloadFile("http://хост.домен/" + version, FolderDialog.SelectedPath + "/" + version);
        }
Answer 1

Проблема была с потоками. Надо писать без using и место DownloadFile надо использовать DownloadFileAsync. Так же в эвентах не использовать анонимные методы. Всё прекрасно заработало:

        string n = ((Button)sender).Name;
        versionD = n.Equals("LoadLastVersionbutton") ? "S1.noext" : n.Equals("LoadPreLastVersionButton") ? "S2.noext" : n.Equals("LoadLastTestVersionbutton") ? "T1.noext" : "T2.noext";
        pbd = (ProgressBar)this.Controls.Find(versionD.Equals("S1.noext") ? "LastPB" : versionD.Equals("S2.noext") ? "PreLastPB" : versionD.Equals("T1.noext") ? "TestPB" : "PreTestPB", true)[0];
        FolderDialog.ShowDialog();
        WebClient client = new WebClient();
        Uri url = new Uri("http://блаблабла.домен" + versionD);
        client.DownloadProgressChanged += OnProgressDownloadChenged;
        client.DownloadFileCompleted += OnDownloadComplete;
        pbd.Visible = true;
        if (File.Exists(FolderDialog.SelectedPath + "/" + versionD))
            File.Delete(FolderDialog.SelectedPath + "/" + versionD);
        client.DownloadFileAsync(url, FolderDialog.SelectedPath + "/" + versionD);
READ ALSO
WaitHandle.WaitAll в Closing (C# WPF)

WaitHandle.WaitAll в Closing (C# WPF)

Есть следующий код:

268
WPF смена кнопок

WPF смена кнопок

Задача:

299
Парсинг динамического json на C#

Парсинг динамического json на C#

Здравствуйте, есть json объект типа:

303
Наследование в EntityFramework

Наследование в EntityFramework

Допустим, были сгенерированы Классы-сущности и мне захотелось расширить какую-то сущность дополнительными полями(Например, вспомогательными...

265