FtpWebRequest.UsePassive Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.