.NET 4.x На время выполнения метода виснет программа - C#

Узнай цену своей работы

Формулировка задачи:

В чем дело люди подскажите... Написан метод загрузки файла через FTP но во время выполнения метода он виснет.
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4. using System.Windows.Media;
  5. using System.Net;
  6. private static string FTP_SERVER = "IP адрес сервера";
  7. private static int FTP_PORT = Порт;
  8. private static string FTP_PASSWORD = "Пароль";
  9. private static string FTP_USER = "Пользователь";
  10. private static string FileServer = "Имя файла";
  11. public static void Updaid()
  12. {
  13. try
  14. {
  15. FtpWebRequest requestFileDownload = (FtpWebRequest)WebRequest.Create("ftp://" + FTP_SERVER + ":" + FTP_PORT + "/" + FileServer);
  16. requestFileDownload.Credentials = new NetworkCredential(FTP_USER, FTP_PASSWORD);
  17. requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
  18. FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
  19. Stream responseStream = responseFileDownload.GetResponseStream();
  20. FileStream writeStream = new FileStream(FileServer, FileMode.Create);
  21. int Length = 2048;
  22. Byte[] buffer = new Byte[Length];
  23. int bytesRead = responseStream.Read(buffer, 0, Length);
  24. while (bytesRead > 0)
  25. {
  26. writeStream.Write(buffer, 0, bytesRead);
  27. bytesRead = responseStream.Read(buffer, 0, Length);
  28. }
  29. responseStream.Close();
  30. writeStream.Close();
  31. requestFileDownload = null;
  32. }
  33. catch (Exception ex)
  34. {
  35. throw ex;
  36. }
  37. }
Объясняю популярным способом, пока метод выполняет программа весит как только закончил выполнятся программа развисает... То есть пока качается файл прога весит как только скачался она развисает.... В чем беда? Сижу уже 6 часов тут и думаю(((( P.S. Coder TPAKTOP

Решение задачи: «.NET 4.x На время выполнения метода виснет программа»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4. using System.Threading;
  5. using System.Windows.Media;
  6. using System.Net;
  7.  
  8.         private static string FTP_SERVER = "IP адрес сервера";
  9.         private static int FTP_PORT = Порт;
  10.         private static string FTP_PASSWORD = "Пароль";
  11.         private static string FTP_USER = "Пользователь";
  12.         private static string FileServer = "Имя файла";
  13.  
  14.        public static void Updaid()
  15.         {
  16.             Thread myThread = new Thread(UpDate);
  17.             myThread.Start();
  18.  
  19.         }
  20.         private static void UpDate()
  21.         {
  22.             try
  23.             {
  24.                 FtpWebRequest requestFileDownload = (FtpWebRequest)WebRequest.Create("ftp://" + FTP_SERVER + ":" + FTP_PORT + "/" + FileServer);
  25.                 requestFileDownload.Credentials = new NetworkCredential(FTP_USER, FTP_PASSWORD);
  26.                 requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
  27.                 FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();
  28.                 Stream responseStream = responseFileDownload.GetResponseStream();
  29.                 FileStream writeStream = new FileStream(FileServer, FileMode.Create);
  30.                 int Length = 2048;
  31.                 Byte[] buffer = new Byte[Length];
  32.                 int bytesRead = responseStream.Read(buffer, 0, Length);
  33.                 while (bytesRead > 0)
  34.                 {
  35.                     writeStream.Write(buffer, 0, bytesRead);
  36.                     bytesRead = responseStream.Read(buffer, 0, Length);
  37.                 }
  38.                 responseStream.Close();
  39.                 writeStream.Close();
  40.                 requestFileDownload = null;
  41.             }
  42.             catch (Exception ex)
  43.             {
  44.                 throw ex;
  45.             }
  46.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы