【问题标题】:XML Read throws "device not ready"XML 读取抛出“设备未准备好”
【发布时间】:2012-07-24 07:33:20
【问题描述】:

我正在尝试读取 xml 文件,但每次代码到达 load() 函数时,它都会抛出异常“设备未准备好”。这是代码:

const string filepath = @"E:\xml\somefile.xml";
XmlDocument fileDoc = new XmlDocument();
fileDoc.Load(filepath);

驱动器“E:\”是一个物理硬盘,Web 应用程序保存在一个名为“app”的文件夹中。所以文件夹 xml 完全独立于 web 应用程序和 iis。我也尝试在应用程序文件夹中找到xml,但发生了同样的错误。

有人知道我缺少什么吗?

【问题讨论】:

  • 不,工作正常。该应用程序也保存在该硬盘驱动器上,除了 xml.load() 之外一切正常
  • 检查 webapp 用户的访问权限。
  • 访问权限设置为“每个人”都具有完全访问权限(读取、写入、打开)

标签: c# asp.net .net xml iis


【解决方案1】:

当您尝试读取 xml 时,检查文件“E:\xml\somefile.xml”是否未锁定在您的进程中。在写入文件的对象上正确使用调用 Dispose()。

【讨论】:

  • 在计算机管理中我看不到文件是被别人打开的。它是一个不变的文件。它只存储数据,没有人/没有函数写入它。它只被代码访问一次,这次发生错误...... :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
相关资源
最近更新 更多