Первый постер, давний читатель.У меня действительно раздражающая проблема, которая действует мне на нервы.У меня есть настроенная программа, поэтому я слушаю новые файлы на FTP-сервере, если есть новый файл, я загружаю его.Оттуда я работаю с некоторой информацией в файле и т. Д. Моя проблема возникает, когда я повторяю последовательность во второй раз.То есть, с первым файлом, который я загружаю, все в порядке, но как только новый файл обнаруживается и моя программа пытается загрузить его, моя программа просто зависает.
private static void DownloadFile(string s)
{
try
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://blabla.com/"+s);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential("xxx" ,"zzz");
using (FtpWebResponse partResponse = (FtpWebResponse)request.GetResponse())
{
Stream partReader = partResponse.GetResponseStream();
byte[] buffer = new byte[1024];
FileInfo fi = new FileInfo(path);
FileStream memStream = fi.Create();
while (true)
{
int bytesRead = partReader.Read(buffer, 0, buffer.Length - 1);
if (bytesRead == 0)
break;
memStream.Write(buffer, 0, bytesRead);
}
partResponse.Close();
memStream.Close();
}
Console.WriteLine(DateTime.Now + " file downloaded");
MoveFileToInProgress(s);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Строка, на которой он висит, -вот это: использование (FtpWebResponse partResponse = (FtpWebResponse) request.GetResponse ())
Причина, по которой мой метод здесь статический, заключается в том, что я просто запускаю его в другом проекте для его проверки .. Мой вопрос здесьпочему он умирает только на втором файле?Я часами смотрю на себя вслепую!