C# 如何缓存XML url?

C# 如何缓存XML url?,c#,asp.net,xml,.net-3.5,caching,C#,Asp.net,Xml,.net 3.5,Caching,我正在通过URL检索XML字符串。我的代码工作得很好,但我不知道如何添加缓存。我不确定是否能够缓存XML流,或者这是否是正确的方法。在这里添加缓存的最佳方法是什么 XmlTextReader xmlTextReader = new XmlTextReader(this.RssUrl); XmlDataDocument xdoc1 = new XmlDataDocument(); xdoc1.DataSet.ReadXml(xmlTextReader, XmlReadMode.InferSchem

我正在通过URL检索XML字符串。我的代码工作得很好,但我不知道如何添加缓存。我不确定是否能够缓存XML流,或者这是否是正确的方法。在这里添加缓存的最佳方法是什么

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

可以将XML与时间戳一起保存,如果需要重新读取XML,可以从存储的XML中读取,直到时间戳超过预配置的值。大多数RSS阅读器这样做是为了避免RSS服务中充斥着请求


或者,如果您控制RSSUrl,您可以在那里实现缓存。这将利用HTTP缓存和这样一个事实,即如果没有向提要添加新项,web服务器可以返回304 Not modified。

缓存整个
XmlDataDocument
。如果只缓存XML,则必须始终解析它。

请不要使用
new XmlTextReader()
。自.NET 2.0以来,这和新的XmlTextWriter()已被弃用。