Edw*_*uay 9 silverlight caching webclient
我正在从这样的Web服务器目录中检索图像:
WebClient webClientImgDownloader = new WebClient();
webClientImgDownloader.OpenReadCompleted += new OpenReadCompletedEventHandler(webClientImgDownloader_OpenReadCompleted);
if(uriIndex < uris.Count())
webClientImgDownloader.OpenReadAsync(new Uri(uris[uriIndex], UriKind.Absolute));
Run Code Online (Sandbox Code Playgroud)
但我注意到如果我删除图像,silverlight会继续检索图像,就像它在那里一样.
当我然后将图像URL输入到FireFox中时,我也会看到图像,但是然后我点击Reload
它会给我一个图像不存在的相应错误.然后,当我再次运行我的silverlight应用程序时,它也恰当地给我一个错误,即图像不存在,就好像浏览器已经清除某处的缓存标记一样.
然后我如何通过代码中的WebClient进行"刷新",这样如果服务器上突然出现图像,Silverlight不会继续给我一个缓存的副本?
这是一个棘手的问题,因为缓存通常是由网站的标题未指定无缓存引起的.我发现在过去,处理这些缓存问题的最简单方法就是提供随机查询字符串参数,以便Web服务器将每个请求解释为新请求.
如果您目前正在申请www.domain.com/image.jpg,请尝试www.domain.com/image.jpg?rand=XXXX,其中XXXX是服务器端代码中生成的随机值.
归档时间: |
|
查看次数: |
4027 次 |
最近记录: |