我正在开发一个Windows服务应用程序,它监视“C:\ Program Files(x86)\ My Directory \ My Data”中的CSV文件。该服务能够读/写此位置。我已经测试过在服务启动时将文本文件写入目录,到目前为止一切似乎都很酷。
OnChanged
的{{1}}处理程序会在CSV文件更新时触发。但是在调用以下行时:
FileSystemWatcher
即使文件存在,我也会得到Dim myStream As Stream = New FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
。到目前为止,我已经检查了文件权限并尝试使用我服务器的管理员帐户运行我的服务,但没有成功。
关于这种行为的任何想法?
答案 0 :(得分:0)
使用FileSystemWatcher
时始终确保您尝试访问的文件未被其他进程锁定。
FileSystemWatcher
会触发OnChanged
事件 - 而不是其他进程可以访问该文件时。