我有一个使用FileSystemWatcher作为Windows服务运行的简单应用程序。文件通过excel VB宏保存到目录
ActiveWorkbook.SaveAs Filename:= "pathToSaveTo"
创建新文件时,观察者调用一种方法来处理文件
void watcher_FileCreated(object sender, FileSystemEventArgs e)
{
while (true)
{
if (FileUploadComplete(e.FullPath))
{
this.ProcessOneFile(e.FullPath, e.Name);
break;
}
}
}
监视程序应用程序永远不会在发生这种情况时注册事件,但是手动删除文件并将其重新添加到文件夹会导致引发该事件。
有人知道将文件保存到目录后如何获得预期的行为吗?
最佳答案
只是黑暗中的一枪,也许“ SaveAs”的实现正在做一些奇怪的事情,例如将数据写入临时文件,然后将其“移动”到最终目录中,这可能会以“重命名”或“更改”事件触发代替。
如果您还没有这样做,请尝试注册其他事件,看看它们是否在“ SaveAs”上触发?