Я думаю использовать следующий код, но я хочу передать сотни файлов, и он не выглядит жизнеспособным для подключения, а затем отключается при каждой передаче файлов.Загрузка нескольких файлов в .NET через FTP
request = (FtpWebRequest) FtpWebRequest.Create(FtpAddress + file);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(User, Pass);
request.UsePassive = IsPassive;
request.UseBinary = true;
request.KeepAlive = false;
FileStream fs = File.OpenRead("");
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpStream = request.GetRequestStream();
ftpStream.Write(buffer, 0, buffer.Length);
ftpStream.Close();
Какие параметры у меня есть для загрузки всех этих файлов с использованием одного соединения?
это звучит примерно справа. Попробуем завтра. Большое спасибо. – zish
Итак, этот ответ был просто принят вслепую? У него также есть несколько повышений? Из всего, что я действительно протестировал и опробовал, единственное, что сделает KeepAlive, это открыть соединение, если вы закроете созданный объект FtpWebResponse. Было бы замечательно увидеть какой-то код, используемый для достижения ожидаемых результатов. –
Arvo, этот ответ/вопрос больше 4 лет, тогда StackOverflow несколько отличался. Я просто попытался указать zish в правильном направлении, поскольку других ответов не было. Должно быть, они работали для них, так как они приняли ответ. Из того, что вы говорите о KeepAlive, похоже, что я предлагаю работать. Вы создаете FTPWebRequest для каждого файла, который хотите загрузить, с запросом.KeepAlive = true, а затем на последнем FTPWebRequest вы устанавливаете его в false. – Moose