FtpWebRequest.UsePassive Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Pobiera lub ustawia zachowanie procesu transferu danych aplikacji klienckiej.
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
Wartość nieruchomości
false jeśli proces transferu danych aplikacji klienckiej nasłuchuje połączenia na porcie danych; w przeciwnym razie, true jeśli klient powinien zainicjować połączenie na porcie danych. Wartość domyślna to true.
Wyjątki
Określono nową wartość dla tej właściwości dla żądania, które jest już w toku.
Przykłady
Poniższy przykład kodu pobiera i wyświetla wartości właściwości dla określonego FtpWebRequest obiektu.
// 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);
}
Uwagi
UsePassive Ustawienie właściwości w celu true wysłania polecenia "PASV" na serwer. To polecenie żąda od serwera nasłuchiwania na porcie danych i oczekiwania na połączenie, a nie zainicjowania go po otrzymaniu polecenia transferu.
Aby uzyskać opis zachowań określonych przy użyciu UsePassiveprogramu , zobacz RFC 959: "Protokół transferu plików", Sekcja 3.2: "Ustanawianie połączeń danych" i Sekcja 4.1.2: "Polecenia parametru transferu".
Zmiana UsePassive po wywołaniu GetRequestStreammetody , BeginGetRequestStream, GetResponselub BeginGetResponse powoduje InvalidOperationException wyjątek.
Jeśli UsePassive ustawiono wartość true, serwer FTP może nie wysyłać rozmiaru pliku, a postęp pobierania zawsze może być zerowy. Jeśli UsePassive ustawiono wartość false, zapora może zgłosić alert i zablokować pobieranie pliku.