2010-08-11 3 views
0

Я извлекаю XML-строку через URL-адрес. Мой код отлично работает, но я не знаю, как добавить к нему кеширование. Я не уверен, могу ли я кэшировать потоки XML или если это даже правильный подход. Каков наилучший способ добавления кеширования здесь?Как кэшировать XML-адрес?

XmlTextReader xmlTextReader = new XmlTextReader(this.RssUrl); 
XmlDataDocument xdoc1 = new XmlDataDocument(); 
xdoc1.DataSet.ReadXml(xmlTextReader, XmlReadMode.InferSchema); 
return xdoc1.DataSet.Tables["item"]; 
+1

Пожалуйста, не используйте 'new XmlTextReader()'. Этот и новый XmlTextWriter() 'устарели от .NET 2.0. –

ответ

0

Вы можете сохранить XML вместе с меткой времени, и если вам нужно перечитать XML, считываемый из сохраненного XML, пока метка не станет старше, чем предустановленные значения. Большинство RSS-ридеров делают это, чтобы не наводнять RSS-сервис запросами.

Или, если вы управляете RSSUrl, вы можете реализовать там кеширование. Это будет использовать кеширование HTTP и тот факт, что веб-сервер может вернуть 304 Не изменяется, если в фид не добавлены новые элементы.

0

Кэш всего XmlDataDocument. Если вы только кешируете XML, вам придется анализировать его все время.

Смежные вопросы