Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不使用临时文件的服务器到服务器SFTP传输_C#_Sftp_Ssh.net - Fatal编程技术网

C# 不使用临时文件的服务器到服务器SFTP传输

C# 不使用临时文件的服务器到服务器SFTP传输,c#,sftp,ssh.net,C#,Sftp,Ssh.net,我们目前正在使用WinSCP使用SFTP传输文件,但我们希望不必在两个SFTP服务器之间本地保存文件。有没有办法让我的应用程序充当“中间人”而不在本地保存文件?例如,用户单击一个按钮后,应用程序从SFTP服务器a获取一个文件,然后将其传输到SFTP服务器B,而无需我在其间本地保存该文件。以下是我正在使用或试图使用的代码: using (SftpClient clientSSA = new SftpClient(ConfigurationManager.AppSettings["SSA.IP"],

我们目前正在使用WinSCP使用SFTP传输文件,但我们希望不必在两个SFTP服务器之间本地保存文件。有没有办法让我的应用程序充当“中间人”而不在本地保存文件?例如,用户单击一个按钮后,应用程序从SFTP服务器a获取一个文件,然后将其传输到SFTP服务器B,而无需我在其间本地保存该文件。以下是我正在使用或试图使用的代码:

using (SftpClient clientSSA = new SftpClient(ConfigurationManager.AppSettings["SSA.IP"],
    ConfigurationManager.AppSettings["SSA.Username"],
    ConfigurationManager.AppSettings["SSA.Password"]))
{
    using (SftpClient clientTracker = new SftpClient(ConfigurationManager.AppSettings["Tracker.IP"],
        ConfigurationManager.AppSettings["Tracker.Username"],
        ConfigurationManager.AppSettings["Tracker.Password"]))
    {
        using (MemoryStream stream = new MemoryStream())
        {
            String remotePath = Path.Combine(@"D:\", "Wages", "wage_request.txt");
            String trackerPath = Path.Combine(@"D:\", "Wages", "wage_response_RENCI.txt");

            clientSSA.Connect();
            clientSSA.DownloadFile(remotePath, stream);

            clientTracker.Connect();
            clientTracker.UploadFile(stream, trackerPath);
        }
    }
}
如果SSH.net不能做到这一点,那么有哪个组件可以让我这么做