【问题标题】:Synchronizing files on local network NAS in .NET在 .NET 中同步本地网络 NAS 上的文件
【发布时间】:2018-10-15 07:33:44
【问题描述】:

我想通过我的 WPF/C# 应用程序将我的 C:\Apps 目录中的所有文件夹单向同步到我的 NAS \\192.168.1.20\Sebastian\Backup 的备份目录中。

我为这份工作选择了 WinSCP:
https://winscp.net/eng/docs/library#csharp

这个例子(见链接)没有帮助。我不知道我应该使用哪种协议。

var sessionOptions = new SessionOptions
{
    Protocol = Protocol.Ftp,
    HostName = @"\\192.168.1.20",
    UserName = "Sebastian",
    Password = "MyNasPassword"
};

using (Session session = new Session())
{
    // Will continuously report progress of synchronization
    session.FileTransferred += FileTransferred;

    // Connect
    session.Open(sessionOptions);

    // Synchronize files
    SynchronizationResult synchronizationResult;
    synchronizationResult = session.SynchronizeDirectories
       (SynchronizationMode.Remote, @"C:\Apps", @"\\192.168.1.20\Sebastian\Backup", true);

    // Throw on any error
    synchronizationResult.Check();
}

我只得到错误(在线:session.Open(sessionOptions); )

连接失败

【问题讨论】:

  • "\\192.168.1.20" 是您在资源管理器中编写地址的方式,但服务器地址只是“192.168.1.20”,开头没有“\\”。你试过吗?
  • 然后我得到这个错误:连接失败:无法连接,因为目标计算机拒绝连接
  • 您的 NAS 是否运行 FTP 服务器?当您使用 Windows 资源管理器进行连接时,您可能通过 SMB(Windows 文件共享)而不是 FTP 进行连接。

标签: c# .net synchronization winscp winscp-net


【解决方案1】:

WinSCP 只能通过 FTP、SFTP 和其他类似协议工作。当您想通过本地网络同步文件时(尽管您的代码不是 FTP)。这不是 WinSCP 可以做到的。

虽然大多数 NAS 都支持 FTP 或 SFTP。也许您需要先启用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 2014-09-21
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多