公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#使用延遲的FileSystemWatcher來避免重復觸發事件

admin
2023年12月26日 22:57 本文熱度 827

問題:

  程序里需要監視某個目錄下的文件變化情況: 一旦目錄中出現新文件或者舊的文件被覆蓋,程序需要讀取文件內容并進行處理;但在實際處理中發現當一個文件產生變化時,Change事件被反復觸發了好幾次。這樣可能的結果是造成同一文件的重復處理。

解決方法:

  針對上面的問題,于是寫了一個可以延遲FileSystemWatcher發出的事件的Class DelayFileSystemWatcher。

 System;
 System.Collections.Generic;
 System.IO;
 System.Threading;
 Utility
{
      DelayFileSystemWatcher
    {
          Timer m_Timer;
          Int32 m_TimerInterval;
          FileSystemWatcher m_FileSystemWatcher;
          FileSystemEventHandler m_FileSystemEventHandler;
          Dictionary<String, FileSystemEventArgs> m_ChangedFiles =  Dictionary<, FileSystemEventArgs>();
         DelayFileSystemWatcher( path,  filter, FileSystemEventHandler watchHandler,  timerInterval)
        {
            m_Timer =  Timer(OnTimer, , Timeout.Infinite, Timeout.Infinite);
            m_FileSystemWatcher =  FileSystemWatcher(path, filter);
            m_FileSystemWatcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastWrite | NotifyFilters.CreationTime;
            m_FileSystemWatcher.Created += fileSystemWatcher_Changed;
            m_FileSystemWatcher.Changed += fileSystemWatcher_Changed;
            m_FileSystemWatcher.Deleted += fileSystemWatcher_Changed;
            m_FileSystemWatcher.Renamed += fileSystemWatcher_Changed;
            m_FileSystemWatcher.EnableRaisingEvents = ;
            m_FileSystemEventHandler = watchHandler;
            m_TimerInterval = timerInterval;
        }
          fileSystemWatcher_Changed( sender, FileSystemEventArgs e)
        {
             (m_ChangedFiles)
            {
                 (!m_ChangedFiles.ContainsKey(e.Name))
                {
                    m_ChangedFiles.Add(e.Name, e);
                }
            }
            m_Timer.Change(m_TimerInterval, Timeout.Infinite);
        }
          OnTimer( state)
        {
            Dictionary<String, FileSystemEventArgs> tempChangedFiles =  Dictionary<String, FileSystemEventArgs>();
             (m_ChangedFiles)
            {
                 (KeyValuePair<, FileSystemEventArgs> changedFile  m_ChangedFiles)
                {
                    tempChangedFiles.Add(changedFile.Key, changedFile.Value);
                }
                m_ChangedFiles.Clear();
            }
             (KeyValuePair<, FileSystemEventArgs> changedFile  tempChangedFiles)
            {
                m_FileSystemEventHandler(, changedFile.Value);
            }
        }
    }

使用方式如下:

        s_DelayFileSystemWatcher = new DelayFileSystemWatcher(@"C:\Temp", "*.xml", fileSystemWatcher_Changed, 1500);

        
private static void fileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
        {
            
switch (e.ChangeType)
            {
                
case WatcherChangeTypes.Created:
                    
//TODO
                    
break;
                
case WatcherChangeTypes.Deleted:
                    
//TODO                        
                    
break;
                
case WatcherChangeTypes.Changed:
                    
//TODO
                    
break;
                
default:
                    
break;
            }
        }

該文章在 2023/12/26 22:58:24 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产无码视频一区二区三区 | 激情一区二区三区成人 | 国产av无码专区亚洲aⅴ蜜芽 | 成人女人女片免费播 | 国产a级毛片免费视频一区二区 | 国产成人+综合 | 91精品国产亚洲九色 | 国产午夜精品亚洲精品国产 | 顶级欧美色妇xxxxx香蕉 | 国产一本高清在线欧美亚 | 成人午夜高潮免费视频在线观看 | av午夜片在线观看 | 国产精品国产三级国产无码 | 成人无码a区在线观看视频 成人无码h免费动漫 | 国产视频在线观看黄色 | 国产精品成人无码 | 国产成人黄色网站视频在线观看 | 国产成人精品成人á在 | 2025国产亚洲精品无码专区 | 国产三级精品在线 | 国产极品粉嫩福利姬萌白酱 | 国产免费无码av片在线观看不 | 国产国拍亚洲精品午夜不卡嘿嘿 | 国产亚洲日本精品成人 | 国产激情精品一区二区三区 | 国产午夜羞羞小视频在线 | 高潮国产精品一区二区 | 国产在线观看免费观看 | 国产精品女同一区二区久久夜 | 国产精品美女啪啪视频 | 国产无码不卡一区二区三区 | 99国产精品白浆在线观看 | 国产精品成人久久久久 | 91精品免费国产高清在线 | 国产一区二区三区成人久久片老牛 | 国产精品丝袜高跟鞋 | 国产麻豆福利在线观看 | 国产va在线观看免费 | 国产成人免费不卡在线观看 | 二区视频在线观看 | 2025亚洲国产精品无码剧情 |