ComponentPro UltimateFtp

      ListDirectoryCompleted Event

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Occurs when an asynchronous ListDirectoryAsync operation completes.

      Syntax

      public event ExtendedAsyncCompletedEventHandler<TResult> ListDirectoryCompleted

      Examples

      FTP Examples

      Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Task-based approach).

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      using ComponentPro;
      
      ...
      
      static async void Main()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("test", "test");
      
          // ... 
       
          // Get information of all files and directories in '/' remote dir. 
          FileInfoCollection list = await client.ListDirectoryAsync("/");            
          DisplayList(list);
      
          // ... 
       
          // Some FTP servers do not support ListDirectory with parameter, we need to change directory before listing. 
          client.SetCurrentDirectory("/my folder");
          // Retrieve file list of the current directory - '/my folder' 
          list = await client.ListDirectoryAsync();
          DisplayList(list);
      
          // ... 
       
          // List all files that have .exe extension in "/" folder. 
          list = await client.ListDirectoryAsync("/", new NameSearchCondition("*.exe"));
          DisplayList(list);
      
          // ... 
       
          // Change the current directory before calling ListDirectory. 
          // Get names of files with .cs or .vb extensions and directories in '/my folder2' remote dir. 
          client.SetCurrentDirectory("/my folder2");
          list = await client.ListDirectoryAsync(new NameSearchCondition("*.cs;*.vb"));
          DisplayList(list);
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      static void DisplayList(FileInfoCollection list)
      {
          foreach (FtpFileInfo info in list)
          {
              Console.WriteLine("Name: {0}, Permissions: {1}", info.Name, info.Permissions);
          }
      }

      Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Event-based approach).

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      using ComponentPro;
      
      ...
      
      static void Main()
      {
          // Create a new class instance. 
          Ftp client = new Ftp();
      
          // Connect to the FTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("test", "test");
      
          // ... 
       
          // Register an event handler. 
          client.ListDirectoryCompleted += client_ListDirectoryCompleted;
      
          // Get information of all files and directories in '/' remote dir. 
          client.ListDirectoryAsync("/");
      
          // ... 
       
          // Some FTP servers do not support ListDirectory with parameter, we need to change directory before listing. 
          client.SetCurrentDirectory("/my folder");
          // Retrieve file list of the current directory - '/my folder' 
          client.ListDirectoryAsync();
      
          // ... 
       
          // List all files that have .exe extension in "/" folder. 
          client.ListDirectoryAsync("/", new NameSearchCondition("*.exe"));
      
          // ... 
       
          // Change the current directory before calling ListDirectory. 
          // Get names of files with .cs or .vb extensions and directories in '/my folder2' remote dir. 
          client.SetCurrentDirectory("/my folder2");
          client.ListDirectoryAsync(new NameSearchCondition("*.cs;*.vb"));
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      static void client_ListDirectoryCompleted(object sender, ExtendedAsyncCompletedEventArgs<FileInfoCollection> e)
      {
          // Ftp client = (Ftp)sender; 
          if (e.Error != null)
              Console.WriteLine("Error: " + e.Error.Message);
          else 
          {
              // Get information of all files and directories in '/' remote dir. 
              foreach (FtpFileInfo info in e.Result)
              {
                  Console.WriteLine("Name: {0}, Permissions: {1}", info.Name, info.Permissions);
              }
          }
      }

      SFTP Examples

      Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory (Task-based approach).

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      // Create a new class instance.
      Sftp client = new Sftp();
      
      // Connect to the SFTP server.
      client.Connect("myserver");
      
      // Authenticate.
      client.Authenticate("test", "test");
      
      // ... 
       
      // Get information of all files and directories in '/' remote dir.
      FileInfoCollection list = await client.ListDirectoryAsync("/");
      
      // ... 
       
      // Get information of all files and directories in '/' remote dir. 
      foreach (SftpFileInfo info in list)
      {
          Console.WriteLine("Name: {0}, UserId: {1}, Permissions: {2}, Size: {3}", info.Name, info.OwnerId, info.Permissions, info.Length);
      }
      
      // Disconnect.
      client.Disconnect();

      Shows how to use ListDirectoryAsync methods to retrieve list of files and subdirectories in a directory.

      using System;
      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      public void DoAsyncListDirectory()
      {
          // Create a new class instance. 
          Sftp client = new Sftp();
      
          // Connect to the SFTP server. 
          client.Connect("myserver");
      
          // Authenticate. 
          client.Authenticate("test", "test");
      
          // ... 
       
          // Register an event handler. 
          client.ListDirectoryCompleted += client_ListDirectoryCompleted;
      
          // Get information of all files and directories in '/' remote dir. 
          client.ListDirectoryAsync("/");
      
          // ... 
       
          // Disconnect. 
          client.Disconnect();
      }
      
      void client_ListDirectoryCompleted(object sender, ExtendedAsyncCompletedEventArgs<FileInfoCollection> e)
      {
          Sftp client = (Sftp)sender;
      
          try 
          {
              // Get information of all files and directories in '/' remote dir. 
              foreach (SftpFileInfo info in e.Result)
              {
                  Console.WriteLine("Name: {0}, UserId: {1}, Permissions: {2}, Size: {3}", info.Name, info.OwnerId, info.Permissions, info.Length);
              }
          }
          catch (Exception exc)
          {
              Console.WriteLine("Error: " + exc.ToString());
          }
      }

      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