我有一個關於filesystemwatcher類上的移動文件事件的問題,我想停止移動文件或編輯它,當移動文件事件出現某個文件時,是否可以在內部處理移動事件?C#:filesystemwatcher類
0
A
回答
2
不,沒有辦法阻止某人使用FileSystemWatcher
類來移動或重命名文件。
如果你看一下,沒有通過FileSystemWatcher類的事件傳遞的事件參數有Cancel
財產。此外,這個類只是一個觀察者的事實是有點線索。
你可能會考慮使用訪問控制列表,以確保有人無法刪除文件(因爲此舉實際上只是一個拷貝/刪除)。或者,也許你可以嘗試在文件上打開FileStream,以便鎖定它。
2
您不能通過事件處理程序直接「取消」操作。您將不得不提供補償操作,以編程方式「撤銷」您想撤消的任何更改。
1
您只收到事件發生後的事件。這僅僅是一個通知,而不是你必須批准的事件。這也可以從FileSystemEventArgs(相對於KeyEventArgs)類中丟失的Cancel或Handled屬性中猜出。
根據您收到的RenamedEventArgs的OldFullPath
屬性,您可以檢測到移動並嘗試移回文件。
這可能會讓您的用戶或其他軟件感到困惑。並且儘量不要以無限循環結束,您每次接收事件時都要前後移動文件。
相關問題
- 1. C#幫助 - FileSystemWatcher類
- 2. C++中的FileSystemWatcher類
- 3. FileSystemWatcher類
- 4. c#filesystemwatcher和backgroundworker
- 5. C# - FilesystemWatcher,MDB文件和MySQL
- 6. C#FileSystemWatcher鎖文件夾
- 7. 如何調試FileSystemWatcher c#
- 8. FileSystemWatcher C#服務名稱
- 9. C#:FileSystemWatcher僅派發ChangedEvent
- 10. C#FileSystemWatcher嚴重問題?
- 11. FileSystemWatcher C#權限問題
- 12. Windows服務w/FileSystemWatcher在C#
- 13. FileSystemWatcher類 - 簡單問題
- 14. FileSystemWatcher的:多個類型
- 15. FileSystemWatcher類 - 排除目錄
- 16. FileSystemWatcher
- 17. FileSystemWatcher
- 18. FileSystemWatcher ArgumentException
- 19. FileSystemWatcher InternalBufferOverflow
- 20. C#跟隨文件夾路口與FileSystemWatcher
- 21. FileSystemWatcher的事件不觸發C#
- 22. 如何使用FileSystemWatcher使用asp.net(C#)
- 23. 永遠運行C#FileSystemWatcher服務
- 24. c#SQL Compact監控FileSystemWatcher或SqlDependency
- 25. 在HFS +文件系統上的c#FileSystemWatcher
- 26. 從FileSystemWatcher捕獲丟失事件C#
- 27. 在C#中使用FileSystemWatcher時HttpContext.Current爲空
- 28. C#:使用FileSystemWatcher監視文件更改
- 29. C# - FileSystemWatcher的啓用定時器
- 30. FileSystemWatcher類中的Windows身份驗證