在Silverlight HttpWebRequest中禁用缓存

4

我的Silverlight4应用程序托管在ASP.NET MVC 2 Web应用程序中。我通过HttpWebRequest类进行Web请求,但它返回了先前缓存的结果。如何禁用此缓存行为?有一些链接讨论了.NET中的HttpWebRequest,但Silverlight HttpWebRequest是不同的。有人建议在每个Web请求上添加唯一的虚拟查询字符串,但我更喜欢更优雅的解决方案。我也尝试了以下方法,但它没有起作用:

_myHttpWebRequest.BeginGetRequestStream(new AsyncCallback(BeginRequest), new Guid());

事实上,通过设置浏览器历史记录设置,可以禁用缓存。请参见以下链接:ASP.NET MVC与SQL Server后端在执行查询时返回旧数据。但要求用户更改浏览器设置对我来说不是一个选项。
1个回答

2

正确的管理缓存的方式是调整服务器端,以便发送影响缓存的HTTP头的正确值。

例如,在ASP.NET中,您可以使用Response对象上的CacheControl属性。

 Response.CacheControl = HttpCacheability.NoCache;

有关ASP.NET MVC的具体答案,请参见:https://dev59.com/LHM_5IYBdhLWcg3w8IHR - synergetic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接