文件观察程序没有断点就无法运行

时间:2011-03-29 11:36:11

标签: c# filesystemwatcher

我创建了一个应用程序,它可以监视任何*.*文件的文件夹(目录)。当我通过具有断点的VS2010进行调试时,该应用程序正常工作。

删除断点时,相同的应用程序无效。

我失踪的任何事情。 。

1 个答案:

答案 0 :(得分:6)

这是FSW的常见问题。调试器有帮助,因为它减慢了时间。当一个进程生成一个Change事件时,通常无法立即打开该文件。该进程仍然打开文件并将其锁定。调试器有帮助,因为断点为处理文件提供了处理时间。

您必须减慢代码中的时间。避免在事件处理程序中旋转,这会使您丢失更改通知。最好的方法是将文件的路径放在线程安全的List<>中。您尝试使用计时器清空。这也可以帮助您处理多个更改通知。和UI线程问题,FSW在线程池线程上生成其事件,您无法从中更新UI(但请参阅SynchronizingObject)。