C# 所有步骤都很好,但文件不会在SFTP中返回

C# 所有步骤都很好,但文件不会在SFTP中返回,c#,scp,winscp-net,C#,Scp,Winscp Net,我有一个任务要在.net程序中执行SFTP。一切都很好,只是我们没有取回文件。在调试过程中,我没有在步骤中得到任何错误,但问题是没有文件返回。在手动SCP中,我们必须复制粘贴返回的文件,我们希望实现自动化 App.config <appSettings> <add key="HostName" value="marketing.sftp.myhub.com" /> <add key="UserName" value="marketing" />

我有一个任务要在.net程序中执行SFTP。一切都很好,只是我们没有取回文件。在调试过程中,我没有在步骤中得到任何错误,但问题是没有文件返回。在手动SCP中,我们必须复制粘贴返回的文件,我们希望实现自动化

App.config

<appSettings>
    <add key="HostName" value="marketing.sftp.myhub.com" />
    <add key="UserName" value="marketing" />
    <add key="Password" value="mypassword" />
    <add key="SshHostKeyFingerprint" value="ssh-rsa 2047 za:5z:z6:77:36:d6:94:89:44:15:b0:ca:59:bf:d3:92" />
    <add key="LocalPath" value="\\server-app01\cust\SC\AMAZON\WINSCP\TESTAMAZON" />
    <!-- this is local folder path -->
    <add key="RemotePath" value="/outgoing/orders/AMAZON/" />
    <!--   this is remote system directory path -->
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </appSettings>

设置
session.SessionLogPath
并显示日志。+您可能希望在
localPath
*
之间添加反斜杠。
try
{
    // Setup session options
    SessionOptions sessionOptions = new SessionOptions
    {

        //Passing HostName , Password, & UserName here. port number
        Protocol = Protocol.Sftp,
        HostName = ConfigurationManager.AppSettings["HostName"].ToString(),
        UserName = ConfigurationManager.AppSettings["UserName"].ToString(),
        Password = ConfigurationManager.AppSettings["Password"].ToString(),
        SshHostKeyFingerprint = ConfigurationManager.AppSettings["SshHostKeyFingerprint"].ToString()
    };
    string LocalPath = ConfigurationManager.AppSettings["LocalPath"].ToString();
    string RemotePath = ConfigurationManager.AppSettings["RemotePath"].ToString();


    using (Session session = new Session())
    {
        // Connect
        session.Open(sessionOptions);

        // Upload files
        TransferOptions transferOptions = new TransferOptions();
        transferOptions.TransferMode = TransferMode.Binary;

        TransferOperationResult transferResult;
        transferResult = session.PutFiles(LocalPath + "*", RemotePath, false, transferOptions);

        // Throw on any error
        transferResult.Check();