我正在使用 File Watcher (.NET) 并且总是收到以下错误 - 另一个进程正在使用文件。
上述错误仅出现在网络共享中,即监视目录是共享的,如果有人将文件放入该目录,则只会出现此错误。当我将文件从我的 m/c 放到观看目录(本地)时,它工作正常。
这就是我下面的代码的样子,错误出现在第一行本身。我已经尝试了网上给出的所有解决方案,但似乎没有任何效果。当我放置 Thread.Sleep(500) 时,唯一的解决方案有效,但之后它无法选择下一个文件。任何建议都会有很大帮助。
try
{
using (Stream stream = File.Open(xmlPath, FileMode.Open, FileAccess.Read, FileShare.Read))
{
XmlTextReader xmlTextReader = new XmlTextReader(stream);
document = XDocument.Load(xmlTextReader);
........ // my code
xmlTextReader.Close();
stream.Close();
}
}
catch (Exception exception)
{
EventLog.WriteEntry("Application", exception.ToString(), EventLogEntryType.Error);
}