WP7网络访问的缓存禁用问题

最近在调新浪微博WP7 SDK时发现,显示评论的接口在调用后,即使有新的评论更新,但如果不将程序关闭后重启,对于同一条微博的评论永远都无法更新。
一开始我老以为是自己的逻辑出了问题,后来一直调到SDK的源码里去才发现,访问一条同样的URL,使用RestClient(内部实现应该也是基于WebClient的吧)得到的请求返回结果和使用新浪自己的测试工具得到的结果居然不一样,我开始怀疑可能是WP的APP内置缓存在搞鬼。但是我又不想把网络缓存直接禁掉,因为对于图片这种资源的访问,缓存几乎是不可或缺的。

于是只好在url上下功夫了。因为可以想象,URL至少会是缓存的KEY中一个关键指标。那么我们可以直接在url后面加上一个当前时间的GET参数,人为造成url的不一致即可。

比如原来是https://www.thankcreate.com

那么想强制绕过缓存机制,只需改成访问 ” https://www.thankcreate.com?currentTime=” + DateTime.Now.ToString()

完毕

8 Responses

发表评论

电子邮件地址不会被公开。 必填项已用*标注