【问题标题】:XML reader and Data updating, TimestampXML阅读器和数据更新,时间戳
【发布时间】:2011-08-15 22:28:55
【问题描述】:

作为一个实验,通过遵循一些教程,我创建了一个带有刷新按钮的 Twitter 阅读器应用程序。一切正常,当我点击刷新按钮应用程序刷新列表没有任何问题。

然后我从 twitter.com 复制了相同的 XML 文件 (http://search.twitter.com/search.atom?rpp=25&&q=%23WP7) 并将其上传到我的服务器。一开始应用程序工作正常并从我的服务器读取提要,但刷新按钮不起作用虽然我用一些条目更改更新了 XML。

我计划使用同一个 Twitter 应用程序在我的服务器中为我的应用程序托管一些 XML 文件。但我无法理解这个问题的原因。

我错过了什么?我是否需要对托管中的文件或 Cpanel 中的更改授予一些权限?

解决方案 当我将以下代码添加到服务器的 htaccess 文件中时,一切都运行良好。

<FilesMatch "\.(html|htm|xml|txt|xsl|atom)$">
  Header set Cache-Control "max-age=15, must-revalidate"
</FilesMatch>

【问题讨论】:

  • 如果没有关于发生了什么的任何线索,就不可能说出来。当然,您有比“刷新按钮不起作用”更多的信息 - 您是否尝试过调试它?您是否获得了新数据但未能解析它?从缓存中看到过时的数据?如果您在装有模拟器的机器上运行 Wireshark 以查看网络跟踪,会发生什么情况?
  • 我安装并运行了 Wireshark。当我使用原始 url 时,应用程序向 twitter.com 发送查询。但是当我在我的服务器中使用 url 时,应用程序不会向服务器发送任何查询。很奇怪
  • 好吧,如果没有看到任何代码...,将很难诊断它
  • 顺便说一句,您的标题中不需要“C#,WP7”。我们在Stack Overflow 上有标签。
  • 是的,谢谢。我还添加了时间戳,我认为这就是我面临的问题。

标签: c# xml windows-phone-7 atom-feed


【解决方案1】:

您的服务器可能已经缓存了您的原始文件。不太可能但可能发生。使用 fiddler 查看提供的服务,如果您无法使用,请向我们发送更多信息。

【讨论】:

  • 嗨,我试过 fiddler,它有非常有用和干净的界面。无论如何,当我在缓存中定位到 twitter.com 时,它会显示“max-age=15,must-revalidate,max-age=300 Expires: Tue, 16 Aug 2011 07:03:03 GMT”。但是当我在我的服务器中使用该文件时。缓存为空。我想这是造成问题的原因。我怎样才能改变它?
  • 这听起来像是正确的行为。您不想缓存在自己的服务器上。至少在您测试和更新数据时不会。尝试直接从浏览器访问数据,看看是否获得更新的数据。这将确保您的文件正确更新。在浏览器中刷新数据时按 CTRL-R。我认为您必须仔细查看 Fiddler 并查看在不同请求上发送了哪些数据。首先检查您的第二个(更新的 xml)请求中 XML 数据的(文件)大小是否更大。
猜你喜欢
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 2020-11-17
  • 2014-06-11
  • 2023-04-02
  • 2011-03-30
相关资源
最近更新 更多