<分区>
我创建了一项服务,通过 FTPClient 将文件从 Linux 计算机移动到 Windows。 LinuxComputer 中的文件由 Oracle 存储过程生成。
问题是,我不知道什么时候文件不再被写入。因为,首先 Oracle 创建一个 0kb 的文件,然后它开始写入它。我添加了一个延迟来获取文件,但这不是解决方案。
FTP 连接
FluentFTP.FtpClient originClient = new FluentFTP.FtpClient(FTPOriginHost, FTPOriginUser, FTPOriginPass);
originClient.Connect();
Log.Info("FTP client is Connected.");
originClient.GetWorkingDirectoryAsync().ContinueWith(d => Log.Info(d.Result));
originClient.SetWorkingDirectoryAsync(FTPOriginPath).Wait();
originClient.GetWorkingDirectoryAsync().ContinueWith(d => Log.Info(d.Result)).Wait();
return originClient;
下载
originClient.GetListingAsync(FTPOriginPath).ContinueWith(t =>
{
foreach (var item in t.Result)
{
originClient.DownloadFileAsync(DestinationPath + item.Name, item.FullName, true).ContinueWith(tt =>
{
Log.Info(item.Name + " DOWNLOAD: OK");
}, System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion).Wait();
}
}, System.Threading.Tasks.TaskContinuationOptions.OnlyOnRanToCompletion).Wait();
我想将文件移动到另一个副本,以检查它是否正在复制,但是如果我在写入文件时将文件移动到 Linux 中的另一个文件夹,则移动正常,并继续写入正常另一个文件夹所以它不起作用。e