2011-10-06 91 views
0

從Web服務請求數據並接收一個XML文件。不洪泛的服務好主意是緩存/存儲XML,所以當應用程序再次啓動時,它會使用緩存的XML 。收到的XML中的數據將每24小時更改一次,以便從舊請求應用程序傳遞過來的時間無論如何都必須創建新數據。C#最好的方式來保存XML數據

保持這些數據的最佳解決方案是什麼?

編輯:也許使用SQLite保留一些歷史?

+0

這個問題不是關於我所嘗試過的。問題是要得到一些想法,這將是一個很好的方法來做到這一點! – hs2d

回答

1

你可以只是把它流到文件:

/// 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)); 
+0

是的,這可能是最常見的解決方案,但也許有一些更好的。(: – hs2d

+1

我認爲你需要改進你的問題。有幾種方法可以做到這一點,但'最好'取決於你的要求。在你的場景中對你來說很重要嗎? – LoveMeSomeCode

0

如果我理解正確,你可能會考慮將數據加載到一個XmlDocumentXDocument,它在高速緩存中有CacheDependency存儲:

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"); 
} 
+0

雖然這是一個很好的解決方案,但是在應用程序重新啓動之間,這並不會持久。 –

相關問題