共用方式為


檔案收取與重試邏輯

如果檔案系統監看員事件提供者無法讀取事件檔案,事件提供者可將該檔案加入至佇列中,稍後再處理該檔案。這個主題描述檔案系統監看員檔案收取和重試邏輯。

檔案佇列

當 Windows 服務或執行檔案系統監看員事件提供者的應用程式啟動,且事件提供者啟用之後,檔案系統監看員事件提供者會將它有權限讀取的所有 .xml 檔加入至佇列中。檔案在佇列中可防止 FileSystemWatcher 類別中的緩衝區填滿,而無法處理檔案。

加入新的 .xml 檔之後,會立即處理這些檔案。只有當事件提供者啟動時,或嘗試處理檔案失敗時,新檔案才會加入佇列中。

檔案系統監看員事件提供者嘗試依照您在定義事件提供者時指定的排程,來處理佇列中的檔案。對於佇列中的每一個檔案,檔案系統監看員事件提供者會嘗試從檔案中讀取資料。當事件提供者成功讀取及提交資料給應用程式後,就會從佇列中移除該檔案。

請注意,重試時會使用同一個執行緒。Notification Services 一次處理一個重試(可包括多個檔案);後續重試被略過,直到該重試完成為止。

已鎖定和無法存取的檔案

當檔案系統監看員事件提供者嘗試讀取資料時,如果檔案被鎖定,事件提供者會將該檔案留在佇列中,並增加檔案的計數器。事件提供者會依照您指定的排程重試檔案,直到達到重試限制為止。

如果檔案的安全性設定不允許檔案系統監看員事件提供者存取該檔案,則檔案不會加入至佇列中。相反地,Notification Services 會監看檔案中的安全性變更。當安全性變更發生時,檔案會加入至佇列中。

請參閱

概念

檔案驗證
定義檔案系統監視員事件提供者

其他資源

檔案系統監視員事件提供者
標準事件提供者
定義事件提供者

說明及資訊

取得 SQL Server 2005 協助