CheckAndDownloadUpdateAsync如何在幕后实际工作?

时间:2012-11-06 12:58:36

标签: c# .net silverlight

是否下载所有二进制文件或仅下载其中的一部分以评估二进制文件是否为新版本?

1 个答案:

答案 0 :(得分:1)

简而言之,它会评估包含所有二进制文件的XAP,但如果XAP上的版本没有更改,则看不到任何更改。

以下是关于该方法的更多信息(从here解除但由于历史原因而粘贴):

  

特点:

     

•检测网络连接(有时它会失败......)

     

•从

连接到安装它的原始授权URL      

•下载新的XAP文件,并将当前版本与清单

中下载的版本进行比较      

•检测当前的Silverlight版本与新版本的Silverlight版本

     

•如果发生故障,则为恢复提供故障异常类型,例如“PlatformNotSupportedException”

     

限制:

     

•无法中断请求。因此,当它超时时,我们会等待它。

     

•无法下载更新并使其可选,以安装和替换当前运行的XAP。只是检测更新版本的标志会更好。这将允许UI显示当前版本和可用更新版本。

     

•为“UpdateAvailable”属性返回false,原因有多种,例如新XAP未签名,较新的Silverlight版本或其他各种错误。然后,我们必须查看错误集合中可能的错误类类型的 ALL 。因此需要一堆尝试。只要我们在catch中有所有可能的错误类型,try-catches就能完成这项工作。实际错误原因的枚举可能更好。

     

•无法恢复到以前的稳定版本并将其安装在较新的错误版本上。这是有道理的,但真正的开发团队在更新生产版本时有恢复计划。