C#保存xml数据的最佳方法
我正在从web服务请求数据并接收一个xml文件。不要淹没服务最好是缓存/存储xml,这样当应用程序再次启动时,它将使用缓存的xml。接收到的xml中的数据将每24小时更改一次,因此在从旧请求传递时间之后,应用程序必须创建新的请求 保存这些数据的最佳解决方案是什么C#保存xml数据的最佳方法,c#,caching,C#,Caching,我正在从web服务请求数据并接收一个xml文件。不要淹没服务最好是缓存/存储xml,这样当应用程序再次启动时,它将使用缓存的xml。接收到的xml中的数据将每24小时更改一次,因此在从旧请求传递时间之后,应用程序必须创建新的请求 保存这些数据的最佳解决方案是什么 编辑:可能使用SQLite保存一些历史记录?您可以将其流式传输到一个文件: /// saving it : System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); Syste
编辑:可能使用SQLite保存一些历史记录?您可以将其流式传输到一个文件:
/// saving it :
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
System.IO.File.WriteAllText(filename, doc.Value);
/// loading it back in :
System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();
xdoc.LoadXml(System.IO.File.ReadAllText(filename));
如果我正确地理解了,可以考虑将数据加载到<代码> XML文档或<代码> XObjs,并将其存储在缓存中,使用<代码> Cache依赖> <代码>:
XmlDocument xDoc = new XmlDocument();
if (Cache.Get("MenuData") == null)
{
xDoc.Load(Server.MapPath("/MenuData.xml"));
Cache.Insert("SiteNav", xDoc, new CacheDependency(Server.MapPath("/MenuData.xml")));
}
else
{
xDoc = (XmlDocument)HttpContext.Current.Cache.Get("MenuData");
}
问题不在于我试过什么。问题是如何获得一些想法,怎样做才是最好的方法!是的,这可能是最常见的解决方案,但也可能有更好的解决方案。。(:我认为您需要改进您的问题。有几种方法可以做到这一点,但“最佳”取决于您的需求。在您的场景中,什么对您最重要?虽然这是一个很好的解决方案,但在应用程序重新启动之间不会持续存在。