C# 客户端HTTP处理&ETag
我正在开发一个小型SilverLight应用程序,它使用WebClient请求REST服务。据此: 使用“客户端HTTP”处理时,不应设置缓存 我调用的REST服务使用ETag,因此在没有缓存的情况下,我不希望对我的服务的第二次调用会包含If None Match头 另外,当REST服务返回'304'NotModified时,我仍然会得到一些数据,表明数据是从缓存返回的 REST服务还将“Vary”头设置为“Accept”,以便在生成缓存密钥时应考虑Accept头,但它似乎不起作用 所以我有点自信,不管缓存是否存在。。。。好像已经走了一半了 有人能澄清吗 短暂性脑缺血发作C# 客户端HTTP处理&ETag,c#,silverlight,caching,rest,C#,Silverlight,Caching,Rest,我正在开发一个小型SilverLight应用程序,它使用WebClient请求REST服务。据此: 使用“客户端HTTP”处理时,不应设置缓存 我调用的REST服务使用ETag,因此在没有缓存的情况下,我不希望对我的服务的第二次调用会包含If None Match头 另外,当REST服务返回'304'NotModified时,我仍然会得到一些数据,表明数据是从缓存返回的 REST服务还将“Vary”头设置为“Accept”,以便在生成缓存密钥时应考虑Accept头,但它似乎不起作用 所以我有点自
瑟伦我建议不要在WCF服务上使用ETag。在IIS中,服务或包含该服务的目录需要包含一个HTTP响应头,将内容设置为立即过期,以便在客户端上不可能缓存。这样,对服务的调用将不会导致来自服务器的HTTP 304响应。听起来您实际上并不是在使用ClientHTTP,也许一些代码会有所帮助,特别是在创建WebRequest的区域。