我分配了一个项目来创建一些文件并使用SFTP将这些文件发送到某个服务器。还有另一个程序可以读取文件并将其发送到另一个地方(文件第一个程序发送到服务器)。它从服务器连续检查新文件并读取并发送。但问题是有时第二个程序读取的文件没有完全导入到该服务器。导致系统崩溃。他们告诉我在发送文件之前在第一个程序中进行更改,首先重命名文件并发送完成上传后再次重命名已发送的文件,即服务器中的文件。这可能是或有更好的方法来做到这一点。有没有人有一些想法,我恳请与我分享
答案 0 :(得分:1)
这是一个很好的同步方法,我的意思是在转移过程中使用临时名称,并在结束时立即重命名。
实施取决于您在计划中使用的方法。 它应该是这样的:
// Rename the file or directory:
success = sftp.RenameFileOrDir("oldFilename.txt","newFilename.txt");
if (success != true) {
Console.WriteLine(sftp.LastErrorText);
return;
}
基本上: