在本地下载文件之前检查文件是否仍在 FTP 位置使用的任何方法

Any method to check whether file is still in use on FTP location before downloading it locally

我正在使用 WinSCP .NET 库从 FTP 下载文件。

我的密码是

session.ExecutablePath = _appSettings["ApplicationFolderPath"] + "WinSCP.exe";
session.Open(sessionOptions);
var obj = session.ListDirectory(_appSettings["SFTP_IncomingFileFolder"]);

if (obj != null && obj.Files != null)
{
    foreach (RemoteFileInfo fileOrDo in obj.Files)
    {
        if (fileOrDo.Name == "." || fileOrDo.Name == ".." || fileOrDo.FileType == 'd' || fileOrDo.FileType == 'D')
        {
            continue;
        }

        // here I want's to check whether file is not in use  before calling  session.GetFiles(...,...).Check();
    }                    
 }

我想要的是在下载文件之前检查 FTP 位置上的文件未被使用。知道我应该使用什么界面。

无法测试文件是否正在通过 FTP 协议使用。

不仅是 WinSCP .NET 程序集,还有一般情况。


所以你所能做的就是尝试下载文件并优雅地处理任何失败。