Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
.net 如何防止Silverlight客户端Http请求缓存响应?_.net_Silverlight_Caching_Silverlight 4.0_Clienthttpstack - Fatal编程技术网

.net 如何防止Silverlight客户端Http请求缓存响应?

.net 如何防止Silverlight客户端Http请求缓存响应?,.net,silverlight,caching,silverlight-4.0,clienthttpstack,.net,Silverlight,Caching,Silverlight 4.0,Clienthttpstack,我正在使用从WebRequestCreator.ClientHttp.Create()创建的HttpWebRequest从Web服务获取数据。在我找到缓存的调用之前,一切似乎都很正常。我非常确定ClientHttp不包括缓存,但经过一点搜索后,我发现了以下注意事项: 客户端HTTP处理 缓存支持 这是MSDN上Silverlight 4的新增功能页面。但这几乎是我能找到的唯一信息。我发现另一篇文章声称ClientHttp将从服务器请求尊重无缓存头,但我真的希望我的Silverlight应用

我正在使用从
WebRequestCreator.ClientHttp.Create()
创建的
HttpWebRequest
从Web服务获取数据。在我找到缓存的调用之前,一切似乎都很正常。我非常确定ClientHttp不包括缓存,但经过一点搜索后,我发现了以下注意事项:

客户端HTTP处理

  • 缓存支持

这是MSDN上Silverlight 4的新增功能页面。但这几乎是我能找到的唯一信息。我发现另一篇文章声称ClientHttp将从服务器请求尊重无缓存头,但我真的希望我的Silverlight应用程序不依赖于服务器端设置

通常解决这个问题的方法是简单地为每个调用添加一个随机参数,但我真的希望有一个更优雅的解决方案


是否有一种方法可以简单地禁用ClientHttpWebRequest上的缓存?最好是单次调用,而不是全局设置。

您链接的文档似乎表明ClientHttp中未启用缓存。然而,我也看到了类似于GET响应缓存的可疑行为。我也看不到禁用它的方法。

我认为没有办法从客户端控制它。在服务器端,设置Cache Control=no Cache对我造成了错误,但我可以通过将Expires头设置为过去的日期(Response.Expires=-10;)来防止客户端堆栈缓存内容。

我看不出它在哪里说ClientHttp中没有启用缓存,它说缓存是Silverlight 4中添加的一项新功能。如果您在MSDN的其他页面上找到它,那么它可能是Silverlight 3的过时页面,其中没有ClientHttp的缓存。不管怎么说,他们加上这个,却没有办法控制它,这似乎很奇怪。本文称未启用