silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Silverlight中使用WebClient 下载资源时存在缓存问题的解决方案大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

  问题:       在Silverlight中使用WebClient 下载资源时,存在缓存问题。当资源更新的时候,下载后的内容未更新。     解决方案一:      既然资源的下载依赖于URL,可以动态改变URL,来获取最新的资源。       public void LoadStringresource(String relativeFileName)         {         

 

问题:

      在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);
                }
            }
        }

                                                 

 

                                                               EKING/王毅,2009,TPRI 版本所有。

 

 

解决方案二:

将下面的代码加到  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 下载资源时存在缓存问题的解决方案全部内容,希望文章能够帮你解决在Silverlight中使用WebClient 下载资源时存在缓存问题的解决方案所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。