我正在开发一个小型SilverLight应用程序,它使用WebClient来请求REST服务。根据这个:
http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx
使用“客户端HTTP”处理时,不应该使用缓存....
我正在调用的REST服务使用ETag,因此没有缓存,我不希望第二次调用我的服务,将包含If-None-Match标头?
当REST服务返回'304'(NotModified)时,我仍然会得到一些数据,表明数据是从缓存中返回的....
REST服务还将'Vary'标头设置为'Accept'(这样在生成Cache密钥时应该考虑Accept标头),但是看起来这似乎不起作用....
所以我有点担心,无论缓存是否存在......看起来好像是中途......
有人可以澄清吗?
TIA
索伦
答案 0 :(得分:0)
我建议不要在WCF服务上使用ETags。在IIS中,服务或包含服务的目录需要包含HTTP响应标头,将内容设置为立即过期,以便不可能在客户端上进行缓存。这样,对服务的调用不会导致来自服务器的HTTP 304响应。