FtpWebRequest.UsePassive Свойство

Определение

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

public:
 property bool UsePassive { bool get(); void set(bool value); };
public bool UsePassive { get; set; }
member this.UsePassive : bool with get, set
Public Property UsePassive As Boolean

Значение свойства

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

Исключения

Для этого свойства было указано новое значение для запроса, который уже выполняется.

Примеры

В следующем примере кода извлекаются и отображаются значения свойств для указанного FtpWebRequest объекта.

// DisplayRequestProperties prints a request's properties.
// This method should be called after the request is sent to the server.

private static void DisplayRequestProperties(FtpWebRequest request)
{
    Console.WriteLine("User {0} {1}",
        request.Credentials.GetCredential(request.RequestUri,"basic").UserName,
        request.RequestUri
    );
    Console.WriteLine("Request: {0} {1}",
        request.Method,
        request.RequestUri
    );
    Console.WriteLine("Passive: {0}  Keep alive: {1}  Binary: {2} Timeout: {3}.",
        request.UsePassive,
        request.KeepAlive,
        request.UseBinary,
        request.Timeout == -1 ? "none" : request.Timeout.ToString()
    );
    IWebProxy proxy = request.Proxy;
    if (proxy != null)
    {
        Console.WriteLine("Proxy: {0}", proxy.GetProxy(request.RequestUri));
    }
    else
    {
        Console.WriteLine("Proxy: (none)");
    }

    Console.WriteLine("ConnectionGroup: {0}",
        request.ConnectionGroupName == null ? "none" : request.ConnectionGroupName
    );

    Console.WriteLine("Encrypted connection: {0}",
        request.EnableSsl);

    Console.WriteLine("Method: {0}", request.Method);
}

Комментарии

UsePassive Задание свойства для true отправки команды "PASV"на сервер. Эта команда запрашивает сервер прослушивать порт данных и ждать подключения, а не инициировать его при получении команды передачи.

Описание поведения, указанных с помощьюUsePassive, см. в разделе RFC 959: "Протокол передачи файлов", раздел 3.2: "Установка подключений к данным" и раздел 4.1.2: "Команды параметра передачи".

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

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

Применяется к

См. также раздел