我的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后端在执行查询时返回旧数据。但要求用户更改浏览器设置对我来说不是一个选项。