我只是想知道什么会导致我的Xap每隔半天过期一次(大约)。我的意思是,早上用户访问该网站并下载xap副本,如果该用户返回网站,则下午下午该网站又为他们下载了xap副本。

我希望用户需要下载xap的新副本的唯一原因是当他们清除浏览器缓存或将新副本放到服务器上时。

有什么问题和解决办法的想法吗?

我在XAP下载上运行了fiddler,并从fiddler中xap下载条目的缓存选项卡中获得了以下几行。

默认情况下,HTTP/200响应是可缓存的,除非存在Expires,Pragma或Cache-Control header 并且禁止缓存。

存在HTTP/1.1 ETAG header :“2ad1d6bfdd43cb1:0”
存在HTTP Last-Modified header :Tue,2010年8月24日22:43:19 GMT

没有提供明确的HTTP到期信息。大多数浏览器都使用启发式到期策略:
Last-Modified和Date之间的增量的10%为'02:53:34',因此此响应将启发性地于2010年8月26日下午4:39:26到期。

这将是问题所在吗?在哪里设置显式HTTP到期时间?

最佳答案

首先要做的是:

  • 安装Fiddler的副本。
  • 删除您的临时Internet文件。
  • 运行 fiddler 。
  • 访问您的主机网页。
  • 在 fiddler 中找到代表Xap下载的HTTP session
  • 将Raw响应 header 添加到上面的问题中。

  • 这将为真正的问题提供非常重要的线索。

    刷新时会发生什么?您是否看到第二个XAP HTTP session 返回状态304响应?如果您获得200,则将原始请求 header 添加到第二次尝试,并将的原始响应 header 添加到您的问题。

    如果确实收到304,则将其放置适当的时间,然后重试,它是否仍显示为304?如果不同,请执行与上述相同的操作。

    这些数据将为我们提供大量信息,以提供诊断信息。

    10-07 23:16