Partager via


FtpWebRequest.UsePassive Propriété

Définition

Obtient ou définit le comportement du processus de transfert de données d'une application cliente.

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

Valeur de propriété

false si le processus de transfert de données de l'application cliente est à l'écoute d'une connexion sur le port de données ; sinon, true si le client doit initialiser une connexion sur le port de données. La valeur par défaut est true.

Exceptions

Une nouvelle valeur a été spécifiée pour cette propriété pour une demande qui est déjà en cours.

Exemples

L’exemple de code suivant récupère et affiche les valeurs de propriété d’un objet spécifié FtpWebRequest .

private:
   // DisplayRequestProperties prints a request's properties.
   // This method should be called after the request is sent to the server.
   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 )
      {
         Console::WriteLine( "Proxy: {0}", proxy->GetProxy( request->RequestUri ) );
      }
      else
      {
         Console::WriteLine( "Proxy: (none)" );
      }

      Console::WriteLine( "ConnectionGroup: {0}", request->ConnectionGroupName == nullptr ? "none" : request->ConnectionGroupName );

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

      Console::WriteLine("Method: {0}", request->Method);
   }
// 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);
}

Remarques

La définition de la UsePassive propriété sur true envoie la commande «PASV" au serveur. Cette commande demande au serveur d’écouter sur un port de données et d’attendre une connexion au lieu d’en lancer une à la réception d’une commande de transfert.

Pour obtenir une description des comportements spécifiés à l’aide UsePassivede , consultez RFC 959 : « Protocole de transfert de fichiers », Section 3.2 : « Établissement de connexions de données » et Section 4.1.2 : « Commandes de paramètre de transfert ».

La modification UsePassive après l’appel de la GetRequestStreamméthode , BeginGetRequestStream, GetResponseou BeginGetResponse provoque une InvalidOperationException exception.

Si UsePassive est défini sur , le serveur FTP peut ne pas envoyer la taille du fichier et la progression du téléchargement peut toujours être égale à truezéro. Si UsePassive est défini sur false, un pare-feu peut déclencher une alerte et bloquer le téléchargement du fichier.

S’applique à

Voir aussi