当前位置: 首页 > 编程语言 > C#

FileSystemWatcher-Change事件只触发一次?分享

时间:2023-04-10 14:18:31 C#

FileSystemWatcher-更改事件只触发一次?我正在使用以下代码来监听从服务器下载并打开的文件的更改事件。但是更改事件仅在第一次保存文件时触发,然后文件观察器不会在后续保存时触发更改事件?任何人都可以看到什么是新的?privateFileSystemWatcherStartWatchingFile(){fw=newFileSystemWatcher();fw.Path=this.directoryLocation;fw.Filter=this.文件名;fw.NotifyFilter=NotifyFilters.LastAccess|NotifyFilters.LastWrite;//添加事件处理器fw.Changed+=newFileSystemEventHandler(fw_Changed);//打开文件System.Diagnostics.Process.Start(this.CreateAbsoluteFilePath(this.Filename));//开始观看。fw.EnableRaisingEvents=true;返回fw;}//*************************voidfw_Changed(objectsender,FileSystemEventArgse){MessageBox.Show("文件:"+e.FullPath+""+e.ChangeType);编辑:StartWatchingFile()现在返回filewatcher,它保存在一个不会被垃圾收集的类中,只是为了确保我坚持整个类,因为fw_changed()函数可能不会被调用。所以现在整个班级都没有被垃圾收集。该类保存在ArrayList中,它是该类的公共成员问候,Jon抱歉,我无法具体回答您的问题。一般来说,我会做出贡献,如果你使用它足够多,你会发现FileSystemWatcher不可靠。MicrosoftConnect显示多个问题。我同意JasonJackson对FileSystemWatcher的看法。它总是在第一次工作是可重现的吗?如果不是,则FileSystemWatcher可能已在StartWatchingFile完成后被垃圾收集器收集,因为它是在本地声明的。如果是这样,您启动的进程是否可能正在锁定文件,因此它实际上没有被修改?以上是C#学习教程:FileSystemWatcher-onlyonetriggerchangeevent?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: