ComponentPro UltimateFtp

      RemoteCopyAsync(Ftp, String, String, Object) 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 Task RemoteCopyAsync(
         Ftp destinationFtpServer, 
         string sourcePath, 
         string destinationPath, 
         object userState = null
      )

      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.
      userState
      A user-provided object that identifies this particular asynchronous operation.

      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 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");
      
          // ... 
       
          ftp1.RemoteCopyCompleted += callback2;
          // Copy "/myfile.x" file from the first FTP server to the second one. 
          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);
      }

      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)

      Portable Class Library for Windows Phone 8.1 and Windows 8.1 Store AppsPortable Class Library for Windows Phone 8.1 and Windows 8.1 Store Apps

      Supported version: 4.6.x and later
      Assembly: ComponentPro.Ftp.WinPcl (in ComponentPro.Ftp.WinPcl.dll)

      Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)

      Supported version: 4.6.x and later
      Assembly: ComponentPro.Ftp.Uwp (in ComponentPro.Ftp.Uwp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.Ftp.Android (in ComponentPro.Ftp.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.Ftp.Mac (in ComponentPro.Ftp.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.Ftp.iOS (in ComponentPro.Ftp.iOS.dll)

      See Also