ComponentPro UltimateFtp

      RemoteCopyAsync(Ftp, String, String) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Starts an asynchronous copy a file on this FTP server to another server specified in the destinationFtpServer parameter using direct server-to-server transfer, also known as FXP.

      Syntax

      public ExtendedAsyncResult RemoteCopyAsync(
         Ftp destinationFtpServer, 
         string sourcePath, 
         string destinationPath
      )

      Parameters

      destinationFtpServer
      An Ftp object representing the destination server. Must be already initialized.
      sourcePath
      The path to the source file to be copied.
      destinationPath
      The path to the destination file.

      Return Value

      An object that references the asynchronous operation.

      Examples

      Shows how to use RemoteCopyAsync method to copy a file on an FTP server to another server using direct server-to-server transfer, also known as FXP (Task-based approach).

      using System;
      using System.ComponentModel;
      using ComponentPro.Net;
      
      ...
      
      async static void Main2()
      {
          // Create a new class instance. 
          Ftp ftp1 = new Ftp();
      
          // Connect to the FTP server. 
          ftp1.Connect("myserver");
      
          // Authenticate. 
          ftp1.Authenticate("userName", "password");
      
          // ... 
       
          // Create a new class instance. 
          Ftp ftp2 = new Ftp();
      
          // Connect to the FTP server. 
          ftp2.Connect("myserver2");
      
          // Authenticate. 
          ftp2.Authenticate("userName", "password");
      
          // ... 
       
          // The RemoteCopyCompleted event is raised when the operation completes. 
          ftp1.RemoteCopyCompleted += callback2;
          // Copy "/myfile.x" file from the first FTP server to the second one. 
          await ftp1.RemoteCopyAsync(ftp2, "/myfile.x", "/myfile.x", "user state");
      
          // wait until it's completed here. 
          // ... 
       
          // Disconnect. 
          ftp1.Disconnect();
      
          ftp2.Disconnect();
      }
      
      static void callback2(object sender, AsyncCompletedEventArgs e)
      {
          // Ftp ftp1 = (Ftp)sender; 
       
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
      
          Console.WriteLine("Method completed. User-state: " + e.UserState);
      }

      Shows how to use RemoteCopyAsync method to copy a file on an FTP server to another server using direct server-to-server transfer, also known as FXP (Event-based approach).

      using System;
      using System.ComponentModel;
      using ComponentPro.Net;
      
      ...
      
      static void Main()
      {
          // Create a new class instance. 
          Ftp ftp1 = new Ftp();
      
          // Connect to the FTP server. 
          ftp1.Connect("myserver");
      
          // Authenticate. 
          ftp1.Authenticate("userName", "password");
      
          // ... 
       
          // Create a new class instance. 
          Ftp ftp2 = new Ftp();
      
          // Connect to the FTP server. 
          ftp2.Connect("myserver2");
      
          // Authenticate. 
          ftp2.Authenticate("userName", "password");
      
          // ... 
       
          ftp1.RemoteCopyCompleted += ftp1_RemoteCopyCompleted;
      
          // Copy "/myfile.x" file from the first FTP server to the second one. 
          ftp1.RemoteCopyAsync(ftp2, "/myfile.x", "/myfile.x");
      
          // wait until it's completed here. 
          // ... 
       
          // Disconnect. 
          ftp1.Disconnect();
      
          ftp2.Disconnect();
      }
      
      static void ftp1_RemoteCopyCompleted(object sender, AsyncCompletedEventArgs e)
      {
          // Ftp ftp1 = (Ftp)sender; 
          
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.Ftp.CF (in ComponentPro.Ftp.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.Ftp (in ComponentPro.Ftp.dll)

      See Also