Client HTTP Handling & ETag

本文关键字:ETag amp HTTP Handling Client | 更新日期: 2023-09-27 18:31:26

我正在开发一个小型的SilverLight应用程序,该应用程序使用WebClient来请求REST服务。据此:

http://msdn.microsoft.com/en-us/library/dd920295(v=vs.95).aspx

使用"客户端 HTTP"处理时不应进行缓存。

我调用的 REST 服务使用 ETag,因此在没有缓存的情况下,我不会期望对我的服务的第二次调用将包含 If-None-Match 标头?

此外,当 REST 服务返回"304"(未修改)时,我仍然会得到一些数据,表明数据是从缓存中返回的。

REST 服务还将"Vary"标头设置为"接受"(以便在生成缓存键时应考虑 Accept 标头),但似乎这不起作用......

所以我有点被没收了,不管缓存是否存在......好像已经走了一半...

有人可以澄清吗??

蒂亚

索伦

Client HTTP Handling & ETag

我建议不要在WCF服务上使用ETags。 在 IIS 中,服务或包含该服务的目录需要包含 HTTP 响应标头,将内容设置为立即过期,以便客户端上没有缓存的可能性。 这样,对服务的调用不会导致来自服务器的 HTTP 304 响应。