Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с FTP, в DotNet 2.0 
V
    Опции темы
YoD
Дата 13.1.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 29.11.2004

Репутация: нет
Всего: нет



Помогите, пожалуйста, разобраться.

Создаю FTP соединение, выгружаю файл на сервер. Делаю это примерно так:

Код

                FtpWebRequest ftp = (FtpWebRequest)WebRequest.Create(new Uri(host + UploadName));
                ftp.Credentials = new NetworkCredential(username, password);
                ftp.Method = WebRequestMethods.Ftp.UploadFile;
                byte[] data = GetFile(FileName);
                Stream s = ftp.GetRequestStream();
                s.Write(data, 0, data.Length);
                s.Close();


Но после выполнения этого фрагмента искренне надеялся, что FTP-соединение закроется, но этого не случалось. (смотрю в окошко фтп-сервера, там соединение висит до тех пор, пока я не закрою свою прогу, из которой создавал соединение). Наивно надеялся вызвать что-нибуль типа ftp.Close(), но не тут-то было, нету такого.

Как закрыть фтп-соединение?
PM MAIL ICQ   Вверх
Medved
Дата 13.1.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154





--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
mr.DUDA
Дата 14.1.2006, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



Пример из MSDN говорит, что после закрытия потока нужно ещё вызвать это:
Код
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
response.Close();



--------------------
user posted image
PM MAIL WWW   Вверх
YoD
Дата 14.1.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 29.11.2004

Репутация: нет
Всего: нет



Удалость разрешить проблему таким образом: ftp.KeepAlive = false. В этом случае соединение само обрывается, когда заканчивают выполняться все операции с ftp-протоколом.

Pegas и mr.DUDA спасибо за готовность помочь!
PM MAIL ICQ   Вверх
Wanderer2019
Дата 2.2.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: нет
Всего: 17



Подскажите plz...
Хотел попробовать данный класс...
но не могу найти GetFile. откуда он берется????
У меня Framework 2.0.
PM ICQ MSN   Вверх
mr.DUDA
Дата 2.2.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



Походу, GetFile берётся из FtpWebResponse.
В ответе от фтп-сервера получаем по GetResponse объект FtpWebResponse, у него есть метод GetStream.
Получив поток, можно зафигячить его хоть в файл, хоть в MemoryStream, а там уже как фантазия подскажет smile


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.