Asp.net 在Silverlight HttpWebRequest中禁用缓存
我的Silverlight4应用程序托管在ASP.NET MVC 2 web应用程序中。我通过HttpWebRequest类执行web请求,但它会返回以前缓存的结果。如何禁用此缓存行为?在.NET中有一些关于HttpWebRequest的链接,但Silverlight HttpWebRequest则不同。有人建议在每个web请求上添加唯一的虚拟查询字符串,但我更喜欢更优雅的解决方案。我还尝试了以下方法,但无效:Asp.net 在Silverlight HttpWebRequest中禁用缓存,asp.net,asp.net-mvc,silverlight,httpwebrequest,Asp.net,Asp.net Mvc,Silverlight,Httpwebrequest,我的Silverlight4应用程序托管在ASP.NET MVC 2 web应用程序中。我通过HttpWebRequest类执行web请求,但它会返回以前缓存的结果。如何禁用此缓存行为?在.NET中有一些关于HttpWebRequest的链接,但Silverlight HttpWebRequest则不同。有人建议在每个web请求上添加唯一的虚拟查询字符串,但我更喜欢更优雅的解决方案。我还尝试了以下方法,但无效: _myHttpWebRequest.BeginGetRequestStream(ne
_myHttpWebRequest.BeginGetRequestStream(new AsyncCallback(BeginRequest), new Guid());
事实上,通过设置浏览器历史记录设置,可以禁用缓存。请参阅以下链接:
但要求用户更改浏览器设置不是我的选择。管理缓存的正确方法是调整服务器端,以便发送影响缓存的HTTP头的正确值 例如,在ASP.NET中,您可以在
响应
对象上使用CacheControl
属性
Response.CacheControl = HttpCacheability.NoCache;
有关ASP.NET MVC特定的答案,请参阅: