FtpWebRequest.UsePassive Egenskap

Definition

Hämtar eller anger beteendet för ett klientprograms dataöverföringsprocess.

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

Egenskapsvärde

false om klientprogrammets dataöverföringsprocess lyssnar efter en anslutning på dataporten; annars, true om klienten ska initiera en anslutning på dataporten. Standardvärdet är true.

Undantag

Ett nytt värde har angetts för den här egenskapen för en begäran som redan pågår.

Exempel

Följande kodexempel hämtar och visar egenskapsvärden för ett angivet 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);
}

Kommentarer

Om du UsePassive anger egenskapen till true skickas kommandot tillPASV" servern. Det här kommandot begär att servern lyssnar på en dataport och väntar på en anslutning i stället för att initiera en vid mottagandet av ett överföringskommando.

En beskrivning av de beteenden som anges med hjälp UsePassiveav finns i RFC 959: "File Transfer Protocol", avsnitt 3.2: "Upprätta dataanslutningar" och avsnitt 4.1.2: "Överför parameterkommandon".

Om du ändrar UsePassive efter att ha anropat GetRequestStream-metoden, BeginGetRequestStream, GetResponse eller BeginGetResponse orsakar ett InvalidOperationException undantag.

Om UsePassive är inställt på truekanske FTP-servern inte skickar filens storlek och nedladdningsstatusen kan alltid vara noll. Om UsePassive är inställt på falsekan en brandvägg skapa en avisering och blockera filnedladdningen.

Gäller för

Se även