2010-08-11 6 views
0

Je récupère une chaîne XML via une URL. Mon code fonctionne très bien, mais je ne sais pas comment ajouter de la mise en cache. Je ne suis pas sûr si je suis capable de mettre en cache des flux XML ou si c'est même la bonne approche. Quel est le meilleur moyen d'ajouter la mise en cache ici?Comment mettre en cache l'URL XML?

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

Veuillez ne pas utiliser 'new XmlTextReader()'. Ceci, et 'new XmlTextWriter()' ont été dépréciés depuis .NET 2.0. –

Répondre

0

Vous pouvez enregistrer le XML avec un horodatage, et si vous avez besoin de relire le XML, vous lire à partir du XML stocké jusqu'à ce que l'horodatage vieillit à une valeur préconfigurée. La plupart des lecteurs RSS font ceci pour éviter d'inonder le service RSS avec des demandes. Ou, si vous contrôlez le RSSUrl, vous pouvez implémenter la mise en cache à cet endroit. Cela utiliserait la mise en cache HTTP et le fait que le serveur Web peut renvoyer 304 Non modifié si aucun nouvel élément n'est ajouté au flux.

0

Mettre en cache l'intégralité de XmlDataDocument. Si vous ne mettez en cache que le XML, vous devrez l'analyser tout le temps.

Questions connexes