0

我正在使用 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 位置上没有被使用。知道我应该使用什么界面。

4

1 回答 1

1

如果文件正在通过 FTP 协议使用,则无法测试。

不仅与 WinSCP .NET 程序集有关,而且在一般情况下。


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

于 2015-08-24T08:25:16.870 回答