如何关闭以这种方式调用的文档:
var xmlDoc = XDocument.Load(new XmlTextReader(Server.MapPath("Nc.xml")));
感谢
答案 0 :(得分:3)
XmlTextReader实现IDisposable。通常,只要不再需要资源允许系统关闭打开的句柄等,就应该调用IDisposable.Dispose()。
IDisposable的最佳使用模式是使用using
语法,它将在隐式try..finally
包装器中自动调用IDisposable.Dispose():
using (var reader = new XmlTextReader(Server.MapPath("Nc.xml")))
{
var xdoc = XDocument.Load(reader);
{ .. do xdoc work here .. }
} // reader disposed here
或者如果您希望将xdoc保留很长时间以进行其他工作但希望尽快关闭文件,请按以下方式执行:
XDocument xdoc = null;
using (var reader = new XmlTextReader(Server.MapPath("Nc.xml")))
{
xdoc = XDocument.Load(reader);
} // reader disposed here
{ .. do xdoc work here .. }
答案 1 :(得分:1)
读者完成后,它将自动关闭所读取的内容。
否则通过
挂起GC的引用xmlDoc = null;
将拆除任何内部开放物品。