ComponentPro UltimateFtp

      DisconnectAsync(Object) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Initiates an asynchronous operation to inform the server that the connection is about to close and terminates the connection.

      Syntax

      public Task DisconnectAsync(
         object userState = null
      )

      Parameters

      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 ConnectAsync, AuthenticateAsync, and DisconnectAsync methods to asynchronously establish a connection and disconnect (Task-based approach).

      using System;
      using System.ComponentModel;
      using ComponentPro.IO;
      using ComponentPro.Net;
      using ComponentPro;
      
      ...
      
      private static async void Main2()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          client.ConnectCompleted += connectCompletedCallback2;
          client.AuthenticateCompleted += authenticateCompletedCallback2;
          client.DisconnectCompleted += disconnectCompletedCallback2;
      
          // Connect to the FTP server asynchronously. 
          await client.ConnectAsync("myserver", 21, "user state");
      
          // ... 
       
          await client.AuthenticateAsync("userName", "password", "user state");
      
          // ... 
       
          client.DownloadFile("/my remote file.dat", "my local file");
      
          // ... 
       
          await client.DisconnectAsync("user state");
          
      }
      
      static void connectCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Connect Method completed. User-state: " + e.UserState);
      
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
      }
      
      static void authenticateCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Authenticate Method completed. User-state: " + e.UserState);
      
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
      }
      
      static void disconnectCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Disconnect Method completed. User-state: " + e.UserState);
      
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
      }

      Shows how to use ConnectAsync, AuthenticateAsync, and DisconnectAsync methods to asynchronously establish a connection and disconnect.

      using System;
      using System.ComponentModel;
      using ComponentPro.Net;
      
      ...
      
      static void Main2()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          client.ConnectCompleted += connectCompletedCallback2;
          client.AuthenticateCompleted += authenticateCompletedCallback2;
          client.DisconnectCompleted += disconnectCompletedCallback2;
      
          // Connect to the FTP server asynchronously. 
          client.ConnectAsync("myserver", 21, "user state");
      
          // Your code here 
          // ...
      }
      
      static void connectCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Connect Method completed. User-state: " + e.UserState);
      
          Ftp client = (Ftp)sender;
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
          else 
          {
              // Authenticate the user asynchronously. 
              client.AuthenticateAsync("userName", "password", "user state");
          }
      }
      
      static void authenticateCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Authenticate Method completed. User-state: " + e.UserState);
      
          Ftp client = (Ftp)sender;
      
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
          else 
          {
              // Do something here... 
              client.DownloadFile("/my remote file.dat", "my local file");
      
              // ... 
       
              // Disconnect asynchronously. 
              client.DisconnectAsync("user state");
          }
      }
      
      static void disconnectCompletedCallback2(object sender, AsyncCompletedEventArgs e)
      {
          Console.WriteLine("Disconnect Method completed. User-state: " + e.UserState);
      
          // Ftp client = (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)

      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