1

我正在使用HttpWebRequestcreated fromWebRequestCreator.ClientHttp.Create()从 web 服务中获取数据。在我发现缓存的调用之前,一切似乎都运行良好。我很确定 ClientHttp 不包含缓存,但经过一番搜索,我发现了这个小注释:

客户端 HTTP 处理

  • 缓存支持

http://msdn.microsoft.com/en-us/library/dd772166(VS.95).aspx#networking

这是 MSDN 上 Silverlight 4 页面中的新增功能。但这几乎是我能找到的唯一信息。我发现另一篇文章声称 ClientHttp 将请求来自服务器的无缓存标头,但我真的希望我的 Silverlight 应用程序不依赖于服务器端设置。

解决这个问题的通常方法是简单地为每个调用添加一个随机参数,但我真的想要一个更优雅的解决方案。

有没有办法简单地禁用缓存ClientHttpWebRequest- 首选单次通话,而不是全局设置。

4

2 回答 2

0

您链接的文档似乎说 ClientHttp 中未启用缓存。但是,我也看到了看起来像 GET 响应缓存的可疑行为。我也看不到禁用它的方法。

于 2010-09-16T18:44:42.850 回答
0

我认为没有办法从客户端控制这一点。在服务器端,设置 Cache-Control = no-cache 对我造成了错误,但我能够通过将 Expires 标头设置为过去的日期来防止客户端堆栈缓存内容(Response.Expires = -10;) .

于 2011-01-06T14:10:04.470 回答