【发布时间】:2015-03-25 07:13:26
【问题描述】:
我在使用 FTP 观察服务和 File.Move 方法时遇到问题。
FTP 服务器是一个简单的 IIS 8.5 FTP 站点,FTP 客户端是 FileZilla FTP Client
Windows 服务将轮询要删除文件的目录。
第一个任务是重命名文件,使用静态 File.Move 方法。 第二种是使用静态 File.Copy 方法将文件复制到另一个目录。
问题在于,在传输文件时,如果使用 File.Copy,它将 [正确地] 引发 IO 异常,并显示消息“该文件正在被另一个进程使用”。
但是,当文件仍在传输时,File.Move 将执行其任务而不会引发任何异常。这是此方法的正确行为吗?我无法找到任何关于为什么会发生这种情况的信息。我的印象是,如果 File.Move 用于另一个进程 [The FTP Transfer] 正在使用的文件,它会引发异常,但它似乎没有。
有没有人经历过这种情况和/或对 File.Move 方法的行为有解释
【问题讨论】: