【问题标题】:How to dispose or close an instance of XML Document in ASP.NET如何在 ASP.NET 中处理或关闭 XML 文档的实例
【发布时间】:2011-03-23 08:53:30
【问题描述】:

有一个问题,其中一个 XML Document.Save 导致进程无法访问该文件的错误,因为它正在被另一个进程使用或声明一个 Invalid XML Document。我认为这是因为我没有处理操作完成后的 XML 文档对象。是否可以这样做。有解决方法吗?

【问题讨论】:

  • 你现在如何访问它,你可以发布代码
  • 您必须发布一些代码,以便人们对此有所了解。

标签: c# asp.net xml


【解决方案1】:

这取决于您使用的Save 方法的重载。如果您直接将文件名作为字符串传递,则应该没有问题。如果你传递一个流或 xmlwriter,你需要确保它被正确处理:

using (Stream stream = ...)
{
    doc.Save(stream);
}

【讨论】:

  • 看来我有问题,也许你可以告诉我是什么问题: using (XmlWriter xw = XmlWriter.Create(new FileStream(this.FilePath, FileMode.Create), xwSettings)) { XmlDocument.WriteTo(xw);这段代码似乎不起作用,因为如果我尝试在之后直接加载相同的文件,我会得到异常“已在使用中”
【解决方案2】:

XmlDocument 以及较新的 XDocument 是 XML 文档的内存表示形式,因此您无需关闭它们。

也许您正在使用底层Stream 或类似的文件来阅读文档,而这就是需要关闭的内容?没有更多的上下文,几乎不可能回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    相关资源
    最近更新 更多