ComponentPro UltimateFtp

      DeleteDirectoryAsync(String, Boolean) 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 ExtendedAsyncResult<FileSystemTransferStatistics> DeleteDirectoryAsync(
         string directoryPath, 
         bool recursive
      )

      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.

      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 Main()
      {
          // 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 += client_DeleteDirectoryCompleted;
      
              // Remove a directory with contents. 
              client.DeleteDirectoryAsync("/temp", true);
          }
      }
      
      static void client_DeleteDirectoryCompleted(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 Main()
      {
          // 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 += client_DeleteDirectoryCompleted;
      
              // Remove a directory with contents. 
              client.DeleteDirectoryAsync("/temp", true);
          }
      }
      
      static void client_DeleteDirectoryCompleted(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)

      See Also