我有一个问题,我在.net核心2.0的ubuntu上有一个简单的应用程序,当目录中的某些东西(新文件、删除文件等)发生变化时会触发事件。逻辑很简单。
public void InitDirectoryWatcher()
{
logger.Info($"Directory {rootPath} is being watched");
Console.WriteLine($"Directory {rootPath} is being watched");
Console.WriteLine();
var fileSystemWatcher = new FileSystemWatcher(rootPath);
fileSystemWatcher.Created += OnCreated;
fileSystemWatcher.Changed += OnChanged;
fileSystemWatcher.Deleted += OnDeleted;
fileSystemWatcher.Error += OnError;
fileSystemWatcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.FileName | NotifyFilters.Size;
fileSystemWatcher.IncludeSubdirectories = true;
fileSystemWatcher.EnableRaisingEvents = true;
}如果我通过ftp、scp或简单的本地cop删除文件进行操作,它就能工作。但是现在我似乎偶然发现了一块石头,我用rsync将一些文件添加到被监视的目录中,但是没有发生任何事件,知道原因是什么吗?
发布于 2018-06-07 13:41:40
就像我在评论中说的那样,我似乎能够捕捉到重命名事件。所以我刚刚补充说:
fileSystemWatcher.Rename += OnRename;事件,我可以接受这样的情况:)
https://stackoverflow.com/questions/50718190
复制相似问题