创建自定义FTPS连接管理器

时间:2016-04-14 17:54:31

标签: c# ssis

我正在尝试创建自己的FTPS类来处理基于名为“FtpClientConnection”的密封类的连接,但我无法理解如何设置。我使用JetBrains dotPeek来查看用于类构造函数的代码MS,我看到了:

public FtpClientConnection(object unmanagedObject)
{
  try
  {
    this.m_ftpClientConn = unmanagedObject as IDTSFtpClientConnection100;
    this.m_persistImpl = new PersistImpl(unmanagedObject as IDTSPersist100);
  }
  catch (Exception ex)
  {
    throw ExceptionWrapper.Wrap(ex);
  }
} 

从这里开始,我试图了解如何使用FtpWebRequest来处理此类中的相同方法并创建自己的FtpsClientConnection类。我第一次看到的是:

public FtpClientConnection(object unmanagedObject)
    {
      try
      {
        this.m_ftpClientConn = FtpWebRequest as IDTSFtpClientConnection100;
        this.m_persistImpl = new PersistImpl(unmanagedObject as IDTSPersist100);
      }
      catch (Exception ex)
      {
        throw ExceptionWrapper.Wrap(ex);
      }
    } 

理解如何设置这个类的任何方向都可以这样理解。

1 个答案:

答案 0 :(得分:0)

您是否必须使用FTPClientConnect ...您可以使用nugget包Renci.SshNet吗?

这是一个非常简单的示例,使用它列出运行ftps的服务器中的所有文件。

            using (var sftp = new SftpClient(sFTPConfig.SFTPFileServer, sFTPConfig.SFTPFileUser, sFTPConfig.SFTPFilePassword))
            {

                sftp.Connect();
                var files = sftp.ListDirectory(sFTPConfig.RemotePath);

           }