.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处理
- 缓存支持
是否有一种方法可以简单地禁用ClientHttpWebRequest上的缓存?最好是单次调用,而不是全局设置。您链接的文档似乎表明ClientHttp中未启用缓存。然而,我也看到了类似于GET响应缓存的可疑行为。我也看不到禁用它的方法。我认为没有办法从客户端控制它。在服务器端,设置Cache Control=no Cache对我造成了错误,但我可以通过将Expires头设置为过去的日期(Response.Expires=-10;)来防止客户端堆栈缓存内容。我看不出它在哪里说ClientHttp中没有启用缓存,它说缓存是Silverlight 4中添加的一项新功能。如果您在MSDN的其他页面上找到它,那么它可能是Silverlight 3的过时页面,其中没有ClientHttp的缓存。不管怎么说,他们加上这个,却没有办法控制它,这似乎很奇怪。本文称未启用