Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Upload to Ftp (несколько файлов)


Автор: dive 8.9.2008, 16:20
доброго времени суток.

есть вот такой вот код, который аплоадит файл на FTP сервер с авторизацией, но мне необходимо аплоадить большое кол-во файлов, но на 11 файле аплоад прекращается с ошибкой FTP сервера 503 (вы уже авторизированы).
если включить флаг KeepAlive для FtpWebRequest, то аплоадятся все файлы, но ооочччеееень медленно.
собственно вопрос, как правильно организовать аплоад кучи файлов? вынести FtpWebRequest вне цикла? а как, если в конструктор имя файла передается?

сами мы не .Net'овцы, поэтому ткните носом в решение.

спасибо.

Код

            foreach (SimpleItem item in MainWindow.elements)
            {
                string zipFile = item.getName() + ".zip";
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://blablabla/" + item.getFilemask() + ".zip");
                request.Method = WebRequestMethods.Ftp.UploadFile;
                request.UseBinary = true;
                request.UsePassive = false;
                //request.KeepAlive = false;

                request.Credentials = new NetworkCredential("login", "password");

                Stream requestStream = request.GetRequestStream();
                FileStream stream = System.IO.File.OpenRead(zipFile);
                
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, buffer.Length);
                stream.Close();
                requestStream.Write(buffer, 0, buffer.Length);
                requestStream.Close();

                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                response.Close();
            }

Автор: dive 9.9.2008, 21:37
никаких мыслей?
ловить Exception и KeepLive'иться каждый раз? неужели никто не сталкивался?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)