文件监听器 - 如何知道文件何时可访问?

时间:2010-11-01 12:52:37

标签: c# windows-services

我在win服务上有一个文件监听器。

我在创建的文件/

上引发事件

有一段时间我得到execption“无法访问该文件,因为它被另一个程序使用” 有人有想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用FileSystemWatcher来获取有关文件系统的通知,但如果可能,您应该更明确。

此处有更多信息: http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

答案 1 :(得分:0)

我的建议,即使在使用FileSystem观察程序时,只是在FileCreated(或您正在观看的任何事件)被触发后执行Thread.Sleep(1000),这样您就可以100%确定上一个进程有完成它。我在使用FileSystem观察者时遇到了类似的经历,并在尝试访问之前暂停了一段时间,文件修复了问题。