使用FileSystemWatcher
>,您可能會在一個文件修改後觀察Changed
事件兩次。這不是一個錯誤,而是已知行為。讓我們檢查一個典型的情況:
<code class="language-csharp">public void Initialize() { FileSystemWatcher fileWatcher = new FileSystemWatcher(); fileWatcher.Path = "C:\Folder"; fileWatcher.NotifyFilter = NotifyFilters.LastWrite; fileWatcher.Filter = "Version.txt"; fileWatcher.Changed += OnChanged; fileWatcher.EnableRaisingEvents = true; } private void OnChanged(object source, FileSystemEventArgs e) { // ... event handling logic ... }</code>
此代碼監視“ version.txt”。 修改和保存文件通常觸發OnChanged
兩次。 發生這種情況是因為文件系統在寫入過程中執行多個操作,每個操作都可能觸發一個單獨的事件。
在限制受監視的動作可以幫助您的情況下,這不是一個保證的解決方案。 在某些情況下,您可能需要實現自定義重複的事件過濾(解決方法)。
。NotifyFilter
有關此行為和潛在解決方案的更多詳細信息,請諮詢此有用的資源:
以上是一個文件修改後,為什麼我的Filesystemwatcher更改了事件射擊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!