【发布时间】: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