2011-10-06 3 views
0

웹 서비스에서 데이터를 요청하고 XML 파일을받는 Im. 서비스를 플러드하지 않으면 XML을 캐시/저장하므로 응용 프로그램이 다시 시작될 때 캐싱 된 xml이 사용됩니다. . 받은 XML의 데이터는 매 24 시간마다 변경되므로 이전 요청 응용 프로그램에서 시간이 지나면 새 응용 프로그램을 만들어야합니다.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

, 당신은 XmlDocument 또는 XDocument로 데이터를로드하고 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

좋은 해결책이지만 응용 프로그램을 다시 시작하는 사이에는 지속되지 않습니다. –

관련 문제