Pemantauan Direktori Berkesan menggunakan FileSystemWatcher
Apabila bekerja dengan Aplikasi Borang Windows, pemantauan direktori dan pengurusan fail yang dimasukkan ke dalamnya boleh menjadi perkara biasa tugasan. Walau bagaimanapun, menghadapi penamatan program yang tidak dijangka boleh menimbulkan kebimbangan.
Satu sebab yang berpotensi untuk isu ini terletak pada penapis pemberitahuan. Kod yang disediakan termasuk beberapa penapis pemberitahuan, termasuk LastAccess, FileName dan DirectoryName. Ini menyebabkan program cuba membuka fail yang masih disalin ke dalam direktori.
Untuk menyelesaikan isu ini, anda dinasihatkan untuk memperhalusi penapis pemberitahuan. Dalam coretan kod yang dikemas kini, semua kecuali penapis LastWrite telah dialih keluar. Ini memastikan bahawa atur cara hanya bertindak balas apabila operasi tulis dilakukan pada direktori, menghalang percubaan untuk membuka fail yang masih disalin.
private void watch() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = path; watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Filter = "*.*"; watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.EnableRaisingEvents = true; }
Dengan melaksanakan perubahan ini, atur cara boleh memantau direktori dengan berkesan dan mengendalikan fail masuk tanpa menghadapi penamatan pramatang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Penamatan Tidak Dijangka Apabila Memantau Direktori dalam Aplikasi Borang Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!