Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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#中使用SSH.net从远程文件获取文件内容_C#_Ssh_Copy_Mysqldump_Ssh.net - Fatal编程技术网

在C#中使用SSH.net从远程文件获取文件内容

在C#中使用SSH.net从远程文件获取文件内容,c#,ssh,copy,mysqldump,ssh.net,C#,Ssh,Copy,Mysqldump,Ssh.net,我正在使用SSH.NET(Renci.SshNet)库来检索SQL文件的内容,但它似乎无法处理大型文件,因为当我试图在500MB的文件上使用以下代码时,我的计算机崩溃了 using (SshCommand command = client.CreateCommand("cat " + filename)) { filecontent = command.Exec

我正在使用SSH.NET(Renci.SshNet)库来检索SQL文件的内容,但它似乎无法处理大型文件,因为当我试图在500MB的文件上使用以下代码时,我的计算机崩溃了

using (SshCommand command = client.CreateCommand("cat " + filename))
                                {
                                    filecontent = command.Execute();
                                    SaveFileDialog theDialog = new SaveFileDialog();
                                    theDialog.Title = "Backup - " + filename;
                                    theDialog.Filter = "SQL files|*.sql";
                                    theDialog.FileName = filename;
                                    if (theDialog.ShowDialog() == true)
                                    {
                                        File.WriteAllText(theDialog.FileName, filecontent);
                                    }

                                }
然后,我尝试使用SFTP获取文件,但由于某些原因,我无法访问httpd.private文件夹,因此在尝试复制大型文件时,我当前被卡住了

如何使用与C#应用程序类似的技术传输大型文件以进行保存?我相信SFTP是一个更好的解决方案,但我无法访问生成sql的文件夹

SQL文件是通过mysqldump命令生成的


谢谢

我必须使用构建到SSH.net中的SftpClient,并使用SftpClient.ListDirectory()遍历文件夹,并将文件名与我要查找的文件进行比较。然后我打开了一个流,并使用SftpClient.DownloadFile()下载了该文件。

SFTP/SCP是正确的答案。在ServerFault上重新发布阻止您使用SFTP.Hi Mitch的内容。我设法解决了这个问题。我必须遍历文件夹,通过比较文件名来检查文件是否在目录中,然后打开一个流并使用sftpClient.DownloadFile()下载文件