Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户端HTTP处理&ETag_C#_Silverlight_Caching_Rest - Fatal编程技术网

C# 客户端HTTP处理&ETag

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头,但它似乎不起作用 所以我有点自

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

使用“客户端HTTP”处理时,不应设置缓存

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

另外,当REST服务返回'304'NotModified时,我仍然会得到一些数据,表明数据是从缓存返回的

REST服务还将“Vary”头设置为“Accept”,以便在生成缓存密钥时应考虑Accept头,但它似乎不起作用

所以我有点自信,不管缓存是否存在。。。。好像已经走了一半了

有人能澄清吗

短暂性脑缺血发作


瑟伦

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

听起来您实际上并不是在使用ClientHTTP,也许一些代码会有所帮助,特别是在创建WebRequest的区域。