【问题标题】:How to cache XML url?如何缓存 XML url?
【发布时间】:2011-03-28 14:17:12
【问题描述】:

我正在通过 URL 检索 XML 字符串。我的代码运行良好,但我不知道如何为其添加缓存。我不确定我是否能够缓存 XML 流,或者这是否是正确的方法。在此处添加缓存的最佳方法是什么?

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

【问题讨论】:

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

标签: c# asp.net xml .net-3.5 caching


【解决方案1】:

您可以将 XML 与时间戳一起保存,如果需要重新读取 XML,则从存储的 XML 中读取,直到时间戳比预配置的值更旧。大多数 RSS 阅读器这样做是为了避免 RSS 服务被请求淹没。

或者,如果您控制 RSSUrl,您可以在那里实现缓存。这将利用 HTTP 缓存以及 Web 服务器可以返回 304 Not modified 如果没有新项目添加到提要的事实。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2014-04-01
      • 2012-05-22
      • 1970-01-01
      • 2012-03-31
      相关资源
      最近更新 更多