C# 将FTP上的本地和远程文件与WinSCP库进行比较

C# 将FTP上的本地和远程文件与WinSCP库进行比较,c#,.net,ftp,synchronization,winscp,C#,.net,Ftp,Synchronization,Winscp,如何使用.NET在FTP服务器上通过WinSCP检查更新 我正在使用SynchronizationMode.Local 例如: if(have_new_update){ MessageBox("U can update") if(ok){ update(); } }else{ return; } 我的代码: SessionOptions sessionOptions = new SessionOptions { Protocol = Pr

如何使用.NET在FTP服务器上通过WinSCP检查更新

我正在使用
SynchronizationMode.Local

例如:

if(have_new_update){
    MessageBox("U can update")
    if(ok){
        update();
    }
}else{
    return;
}
我的代码:

SessionOptions sessionOptions = new SessionOptions {
    Protocol = Protocol.Ftp, HostName = ftp_url, UserName = username, Password = pass
};
using (Session session = new Session()) {
    rtb_update_material.AppendText("\nConnected\n");
    //Transferring
    session.FileTransferred += FileTransferred;
    session.FileTransferProgress += SessionProgressBar;
    session.Open(sessionOptions);
    SynchronizationResult synchronizationResult;
    synchronizationResult = session.SynchronizeDirectories(SynchronizationMode.Local, @"MyPath\", "/", true);

    synchronizationResult.Check();
    if (synchronizationResult.IsSuccess)
        rtb_update_material.AppendText("Done\n");
用于查找本地目录和远程目录之间的差异:

var diffs =
    session.CompareDirectories(SynchronizationMode.Remote, localPath, remotePath, false);

if (diffs.Count > 0) 
{
    // there are differences
}

什么更新?文件更新?您的代码示例中没有
SynchronizationMode
。我需要确定是否有任何文件需要更新,以向用户显示有关此的通知。因此,您是否需要将一些本地文件与远程文件进行比较,以确定本地文件夹中是否有较新的文件需要上载到远程文件夹?是,如果有差异,我想显示messegeboxsession.CompareDirectory(SynchronizationMode.Remote*Local Thanx!如果要更新远程文件,请使用
.Remote
)。