, anda mungkin memerhatikan kejadian FileSystemWatcher
yang menembak dua kali selepas pengubahsuaian fail tunggal. Ini bukan pepijat, tetapi tingkah laku yang diketahui. Mari kita periksa senario biasa: 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>
dua kali. Ini berlaku kerana sistem fail melakukan pelbagai tindakan semasa proses menulis, masing -masing berpotensi mencetuskan peristiwa yang berasingan. OnChanged
untuk menyekat tindakan yang dipantau boleh membantu, ia bukan penyelesaian yang dijamin. Dalam beberapa situasi, anda mungkin perlu melaksanakan penapisan acara pendua adat (penyelesaian). NotifyFilter
Petua FileSystemwatcher .
Atas ialah kandungan terperinci Kenapa acara FileSystemwatcher saya berubah api dua kali selepas pengubahsuaian fail tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!