FileSystemWatcher 不会为 %appdata%/Roaming 中的文件触发事件

问题描述

大家好,

我正在使用 FileSystemWatcher 监视 %AppData%/Roaming 目录中的 log.txt 文件。 不幸的是,这不起作用。如果我在 %AppData% 之外更改 log.txt 的路径,则观察者可以正常工作。这可能是什么原因?

public class Logviewmodel : ObservableObject
{
    private string _fileName = "log.txt";
    private string _fullPath;
    private string _logFile;
    public string LogFile
    {
        get { return _logFile; }
        set { OnPropertyChanged(ref _logFile,value); }
    }
    public Logviewmodel()
    {
        _fullPath = FileHelper.GetFullPath(_fileName);
        var watcher = new FileSystemWatcher(AppDomain.CurrentDomain.BaseDirectory,_fullPath);
        watcher.Changed += new FileSystemEventHandler(OnChanged);
        watcher.EnableRaisingEvents = true;
        LogFile = File.ReadAllText(_fullPath);
    }
    private void OnChanged(object sender,FileSystemEventArgs e)
    {
        LogFile = File.ReadAllText(_fullPath);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)