Example #1
0
 /// <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();
 }
Example #2
0
        /// <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());
        }