3

我在我的 WP7 应用程序中成功实现了 RestSharp,但仍然存在一个问题:

当我从服务器加载资源(例如http://localhost:8080/cars上的 GET 请求)时,第一次成功返回了(在这种情况下)汽车的集合。

当我第二次发出相同的请求时,我总是得到与第一次相同的结果——即使同时资源发生了变化。在查看我的服务器时,第二次根本没有发出任何请求。

我认为在 RestSharp 中实现了一种缓存机制,但我认为没有办法使缓存结果无效。

是否有任何方法可以手动使 RestSharp for Windows Phone 缓存结果无效?(或强制库从服务器获取结果的方法)

4

2 回答 2

3

您可以通过在服务器发回的响应上设置标头来控制资源的缓存。如果您不想缓存资源,则将缓存控制标头设置为 no-cache。
指定资源可以使用多长时间是服务器的工作,客户端应尽最大努力尊重该信息。

如果你真的,真的想删除缓存中的条目,你需要通过WinINet API

于 2011-05-19T11:21:55.347 回答
2

作为避免缓存的快速技巧,您可以将唯一值附加到查询字符串的末尾。当前的 DateTime(必要时包括秒和毫秒)或 GUID 是合适的。

例如。

var uri = "http://example.com/myrequest?rand=" + DateTime.Now().ToString();
于 2011-05-19T12:47:51.497 回答