Sdílet prostřednictvím


FtpWebRequest.UsePassive Vlastnost

Definice

Získá nebo nastaví chování procesu přenosu dat klientské aplikace.

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

Hodnota vlastnosti

false pokud proces přenosu dat klientské aplikace naslouchá připojení na datovém portu; true v opačném případě, pokud by klient měl zahájit připojení na datovém portu. Výchozí hodnota je true.

Výjimky

Pro tuto vlastnost byla zadána nová hodnota pro požadavek, který již probíhá.

Příklady

Následující příklad kódu načte a zobrazí hodnoty vlastností pro zadaný FtpWebRequest objekt.

// 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);
}

Poznámky

UsePassive Nastavení vlastnosti pro true odeslání příkazu "PASV" na server. Tento příkaz požádá server, aby naslouchal datovému portu a čekal na připojení a nespustí ho po přijetí příkazu pro přenos.

Popis chování zadaných pomocí UsePassivedokumentu RFC 959: "Protokol přenosu souborů", oddíl 3.2: "Navazování datových připojení" a oddíl 4.1.2: "Přenos příkazů parametrů".

Změna UsePassive po volání metod GetRequestStream, BeginGetRequestStream, GetResponse, nebo BeginGetResponse vyvolá výjimku InvalidOperationException.

Pokud UsePassive je nastavená hodnota true, server FTP nemusí odeslat velikost souboru a průběh stahování může být vždy nula. Pokud UsePassive je nastavená hodnota false, může brána firewall vyvolat výstrahu a zablokovat stahování souboru.

Platí pro

Viz také