2013-03-24 2 views
2

Мы все знаем, что .Net имеет FTP связанные классы и я часто видел, как люди всегда используют несколько свойства передачи файлов под названием:Что касается использования .Net фтпа классов и пассивного режима C#

wrq.KeepAlive = false; 
wrq.UseBinary = false; 
wrq.UsePassive = true; 

Может кто-нибудь сказать мне, в чем смысл KeepAlive, UseBinary & UsePassive?

Что произойдет, если мы установим true или false для вышеуказанного свойства, в частности скажите мне, что является использованием или значением свойства UsePassive.

Один человек кратко рассказать о пассивном режиме: -

UsePassive:
ложь, если процесс передачи данных клиентского приложения прослушивает соединения на порт данных; в противном случае - true, если клиент должен инициировать подключение к порту данных. Значение по умолчанию истинно

приведенный выше ответ мне не очень понятен. поэтому каждый может объяснить о пассивном режиме более подробно .... спасибо

+0

http://en.wikipedia.org/wiki/FTP#Communication_and_data_transfer – SLaks

+0

Как о чтении [MSDN документация] (http://msdn.microsoft.com/en-us/library /6cxacd61.aspx)? – Clemens

ответ

1

Возможно, эти статьи MSDN могут вам помочь?

KeepAlive

Получает или задает логическое значение, указывающее, является ли управляющее соединение с сервером FTP закрывается после завершения запроса.

Если для свойства KeepAlive установлено значение false, управляющее соединение закрывается при вызове метода Close.

Изменение KeepAlive после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.keepalive.aspx


UseBinary

Получает или задает логическое значение, которое указывает тип данных для передачи файлов.

Если вы отправляете двоичные данные, например изображение, установите для этого свойства значение true. Если вы отправляете текст, установите для свойства значение false. Указание истинных причин возвращает FtpWebRequest команду «TYPE I» на сервер. Задание false приводит к тому, что FtpWebRequest отправляет команду «Тип A» на сервер. FTP-серверы могут игнорировать эти команды.

Изменение UseBinary после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usebinary.aspx


UsePassive

Получает или задает поведение процесса передачи данных клиентского приложения.

Установка свойства UsePassive в true отправляет команду «PASV» на сервер. Эта команда требует, чтобы сервер прослушивал порт данных и ожидал подключения, а не инициировал его при получении команды передачи.

Описание поведения, заданного с помощью UsePassive, см. RFC 959, «Протокол передачи файлов», раздел 3.2, «Установление соединений данных» и раздел 4.1.2 «Команды параметров передачи», доступные по адресу http://www.rfc-editor.org/.

Изменение UsePassive после вызова метода GetRequestStream, BeginGetRequestStream, GetResponse или BeginGetResponse вызывает исключение InvalidOperationException.

Если для параметра UsePassive установлено значение true, FTP-сервер может не отправлять размер файла, и процесс загрузки всегда может быть равен нулю. Если для параметра UsePassive установлено значение false, брандмауэр может поднять предупреждение и заблокировать загрузку файла.

http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usepassive.aspx

Смежные вопросы