ComponentPro UltimateFtp

      DeleteDirectoryAsync(String, Boolean, Object) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Asynchronously deletes the specified directory and, if indicated, any subdirectories and files in the directory.

      Syntax

      public Task<FileSystemTransferStatistics> DeleteDirectoryAsync(
         string directoryPath, 
         bool recursive, 
         object userState = null
      )

      Parameters

      directoryPath
      The path of the directory that contains files to be deleted.
      recursive
      true to remove files in the specified directory and subdirectories; false to remove files in the specified directory only.
      userState
      A user-provided object that identifies this particular asynchronous operation.

      Return Value

      An object that references the asynchronous operation.

      Remarks

      Empty directories are to be removed. This method does not build directory hierarchy before deleting items.

      Examples

      FTP Examples

      Remove a directory with contents asynchronously using the DeleteDirectoryAsync method (Task-based approach).

      using System;
      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      static async void Main2()
      {
          // Create a new Ftp instance. 
          using (Ftp client = new Ftp())
          {
              // Connect to the FTP server. 
              client.Connect("myserver");
      
              // Authenticate. 
              client.Authenticate("userName", "password");
      
              // ... 
       
              // The event DeleteDirectoryCompleted is fired when the operation completes. 
              client.DeleteDirectoryCompleted += callback2;
              // Delete a directory with contents. 
              await client.DeleteDirectoryAsync("/mydir", true, "user state");
      
              // ... 
          }
      }
      
      private static void callback2(object sender, ExtendedAsyncCompletedEventArgs<FileSystemTransferStatistics> e)
      {
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
      
          Console.WriteLine("Method completed. User state: " + e.UserState);
      }

      Remove a directory with contents asynchronously using the DeleteDirectoryAsync method (Event-based approach).

      using System;
      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      static void Main2()
      {
          // Create a new Ftp instance. 
          using (Ftp client = new Ftp())
          {
              // Connect to the FTP server. 
              client.Connect("localhost");
      
              // Authenticate. 
              client.Authenticate("test", "test");
      
              // ... 
       
              // The event DeleteDirectoryCompleted is fired when the operation completes. 
              client.DeleteDirectoryCompleted += callback2;
      
              // Remove a directory with contents. 
              client.DeleteDirectoryAsync("/temp", "user state");
          }
      }
      
      static void callback2(object sender, ExtendedAsyncCompletedEventArgs<FileSystemTransferStatistics> e)
      {
          // Ftp client = (Ftp)sender; 
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
          Console.WriteLine("User-state: " + e.UserState);
      }

      SFTP Examples

      Remove a directory with contents asynchronously using the DeleteDirectoryAsync method (Task-based approach).

      using System;
      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      static async void Main2()
      {
          // Create a new Sftp instance. 
          using (Sftp client = new Sftp())
          {
              // Connect to the SFTP server. 
              client.Connect("myserver");
      
              // Authenticate. 
              client.Authenticate("userName", "password");
      
              // ... 
       
              // The event DeleteDirectoryCompleted is fired when the operation completes. 
              client.DeleteDirectoryCompleted += callback2;
              // Delete a directory with contents. 
              await client.DeleteDirectoryAsync("/mydir", true, "user state");
      
              // ... 
          }
      }
      
      private static void callback2(object sender, ExtendedAsyncCompletedEventArgs<FileSystemTransferStatistics> e)
      {
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.ToString());
      
          Console.WriteLine("Method completed. User state: " + e.UserState);
      }

      Remove a directory with contents asynchronously using the DeleteDirectoryAsync method (Event-based approach).

      using System;
      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      static void Main2()
      {
          // Create a new Sftp instance. 
          using (Sftp client = new Sftp())
          {
              // Connect to the SFTP server. 
              client.Connect("localhost");
      
              // Authenticate. 
              client.Authenticate("test", "test");
      
              // ... 
       
              // The event DeleteDirectoryCompleted is fired when the operation completes. 
              client.DeleteDirectoryCompleted += callback2;
      
              // Remove a directory with contents. 
              client.DeleteDirectoryAsync("/temp", "user state");
          }
      }
      
      static void callback2(object sender, ExtendedAsyncCompletedEventArgs<FileSystemTransferStatistics> e)
      {
          // Sftp client = (Sftp)sender; 
          if (e.Error != null)
          {
              Console.WriteLine("Error: " + e.Error.ToString());
          }
          Console.WriteLine("User-state: " + e.UserState);
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.FileSystem.CF (in ComponentPro.FileSystem.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.FileSystem (in ComponentPro.FileSystem.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.FileSystem.WinPcl (in ComponentPro.FileSystem.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.FileSystem.Uwp (in ComponentPro.FileSystem.Uwp.dll)

      Xamarin AndroidXamarin Android

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

      Xamarin MacXamarin Mac

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

      Xamarin iOSXamarin iOS

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

      See Also