在Silverlight HttpWebRequest中禁用缓存

时间:2010-06-12 08:53:28

标签: asp.net asp.net-mvc silverlight httpwebrequest

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

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

实际上,通过设置浏览器历史记录设置,可以禁用缓存。请参阅以下链接: ASP.NET MVC with SQL Server backend returns old data when query is executed 但要求用户更改浏览器设置不是我的选择。

2 个答案:

答案 0 :(得分:2)

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

例如,在ASP.NET中,您可以使用CacheControl对象

上的Response属性
 Response.CacheControl = HttpCacheability.NoCache;

答案 1 :(得分:1)

好的,我在以下链接中找到了更正确的答案:

Disable browser cache for entire ASP.NET website

相关问题