/// <summary> /// 文件监听(不读取) /// </summary> /// <param name="Module"></param> internal static void MonitorInit(FileModule Module) { SystemWatcher.BeginInit(); SystemWatcher.Filter = Module.Pattern; SystemWatcher.IncludeSubdirectories = Module.IsInclude; SystemWatcher.EnableRaisingEvents = true; SystemWatcher.NotifyFilter = NotifyFilters.Attributes | NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.Security | NotifyFilters.Size; SystemWatcher.Path = Module.Path; SystemWatcher.Created += (sender, events) => Module.Events.Invoke(sender, events); SystemWatcher.Deleted += (sender, events) => Module.Events.Invoke(sender, events); SystemWatcher.Changed += (sender, events) => Module.Events.Invoke(sender, events); SystemWatcher.Renamed += (sender, events) => Module.Events.Invoke(sender, events); SystemWatcher.EndInit(); }
/// <summary> /// 文件监听(读取) /// </summary> /// <param name="Module"></param> internal static void MonitorRead(FileModule Module) { IFileProvider FileProvider = new PhysicalFileProvider(Module.Path); FileReaderOnChaged(() => FileProvider.Watch(Module.Pattern), () => Module.Action.Invoke()); }