大佬教程收集整理的这篇文章主要介绍了在Silverlight中使用WebClient 下载资源时存在缓存问题的解决方案,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:
在Silverlight中使用WebClient 下载资源时,存在缓存问题。当资源更新的时候,下载后的内容未更新。
解决方案一:
既然资源的下载依赖于URL,可以动态改变URL,来获取最新的资源。
public void LoadStringresource(String relativeFileName)
{
WebClient xmlClient = new WebClient();
xmlClient.Encoding = System.Text.Encoding.Unicode;
xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
relativeFilename = relativeFilename +"?eking=" + random.Next().ToString();
xmlClient.DownloadStringAsync(new Uri(relativeFileName));
}
void XMLFileLoaded(object sender,DownloadStringCompletedEventArgs E)
{
if (e.Error == null)
{
fileData = e.Result;
SampleDrawings = new DrawingStorage(fileData);
drawingXml = SampleDrawings.Storage;
if (drawingXml != null)
{
loadDrawing(drawingXml,isRunModE);
}
}
}
解决方案二:
将下面的代码加到 silverlight 库中或直接加在应用程序中。
public static class WebClientextensions
{
public static void DownloadStringAsync(this WebClient client,Uri uri,object user_token,bool fresh_copy)
{
if (!fresh_copy)
{
client.DownloadStringAsync(uri,user_token);
}
else
{
client.DownloadStringAsync(new Uri(uri.AbsoluteUri + "?" + Guid.NewGuid().ToString()),user_token);
}
}
}
}
以上是大佬教程为你收集整理的在Silverlight中使用WebClient 下载资源时存在缓存问题的解决方案全部内容,希望文章能够帮你解决在Silverlight中使用WebClient 下载资源时存在缓存问题的解决方案所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。