예제 #1
0
        private async Task InitialiseFolderWatchers()
        {
            FileSystemFolderWatchers.Clear();
            foreach (var watchFolder in WatchFolders)
            {
                FileSystemFolderWatchers.Add(new FileSystemWatcher
                {
                    Path         = watchFolder.Path,
                    NotifyFilter = NotifyFilters.CreationTime |
                                   NotifyFilters.DirectoryName |
                                   NotifyFilters.Size |
                                   NotifyFilters.Attributes |
                                   NotifyFilters.FileName |
                                   NotifyFilters.LastAccess |
                                   NotifyFilters.LastWrite |
                                   NotifyFilters.Size,
                    Filter = "*.*",
                    EnableRaisingEvents = true
                });

                FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                .Changed += new FileSystemEventHandler(FolderWatcher_OnChanged);

                FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                .Renamed += new RenamedEventHandler(FolderWatcher_OnRenamed);

                FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                .Created += new FileSystemEventHandler(FolderWatcher_OnChanged);

                FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                .Deleted += new FileSystemEventHandler(FolderWatcher_OnChanged);
            }

            await Task.Run(() => { });
        }
예제 #2
0
        private async Task InitialiseFolderWatchers()
        {
            try
            {
                FileSystemFolderWatchers.Clear();
                foreach (var watchFolder in WatchFolders)
                {
                    try
                    {
                        FileSystemFolderWatchers.Add(new FileSystemWatcherPoller
                        {
                            Path         = watchFolder.Path,
                            NotifyFilter = NotifyFilters.CreationTime |
                                           NotifyFilters.DirectoryName |
                                           NotifyFilters.Size |
                                           NotifyFilters.Attributes |
                                           NotifyFilters.FileName |
                                           NotifyFilters.LastWrite |
                                           NotifyFilters.Size,
                            Filter = "*.*",
                            IncludeSubdirectories = true,
                            InternalBufferSize    = 24000,
                            PollFrequency         = 3600000 // 1 Hour
                        });

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                        .Changed += new FileSystemEventHandler(FolderWatcher_OnChanged);

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                        .Renamed += new RenamedEventHandler(FolderWatcher_OnRenamed);

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                        .Created += new FileSystemEventHandler(FolderWatcher_OnChanged);

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                        .Deleted += new FileSystemEventHandler(FolderWatcher_OnChanged);

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1]
                        .OnPollDiscoveredChange += new FileSystemWatcherPoller.PollDiscoveredChangeHander(FolderWatcher_OnPollDiscoveredChange);

                        FileSystemFolderWatchers[FileSystemFolderWatchers.Count - 1].Start();
                    }
                    catch { }
                }

                await Task.Run(() => { });
            }
            catch { }
        }