我有一个xml文件,它将从源代码中读取很多次。我想知道如何在应用程序期间只读取一次xml文件,启动xml文件,然后缓存其内容,以便能够高效、快速地重用它。
我正在使用C# 4,请推荐高效缓存和阅读的最佳实践。
编辑
找到这个资源:CodeProject条款
我已经将xml文件加载到XmlDocument中并使用Enterprise缓存它,如下所示,
XmlDocument xdoc = new XmlDocument();
xdoc.Load("MyXmlFile.XML");
FileDependency fileDependency=new FileDependency("MyXmlFile.XML");
cacheManager.Add("XConfig", xdoc, CacheItemPriority.Normal, null, fileDependency);发布于 2012-02-08 13:28:28
要读取xml是XmlReader,请看:解析Xml的最有效方法
缓存使用XmlDocument对象,并将其保存在内存中:C#保存xml数据的最佳方法
要同时使用这两种方法,请看:http://msdn.microsoft.com/en-us/library/a8ta6tz4.aspx
XmlDocument的问题是读取,而不是操作,最好的操作方法是Linq到Xml,这也有很好的性能,但是不要超过XmlReader,看下面的比较:vs.html
发布于 2012-02-08 14:19:32
此代码将在静态共享实例中缓存文档。这段代码并不是线程安全的,您没有说明这是否是一项要求:
private static XDocument _mydoc;
public static XDocument MyDoc
{
get
{
return _mydoc ?? (_mydoc = XDocument.Parse("WellKnownXmlFile.xml");
}
}https://stackoverflow.com/questions/9194135
复制相似问题