Microsoft Updater Application Block 下载器设计
译者: Tony Qu
Updater Application Block使用一个可扩展的下载器架构从指定的服务器上拷贝manifest文件和应用程序升级文件到客户端。
图1 展示了下载器架构
图1 包括下列过程
1. ApplicationUpdateManager类使用UpdaterConfiguration类的实例属性读取应用程序下载器配置文件中的<downloader>节。这个配置节包含要使用的下载器的完整集合[assembly]名称和类型[type]名称。更多关于应用程序设计的信息可以参考Application Updater配置设计。
2. DownloaderFactory类用来实例化一个特定的下载器,下载器必须实现IDownloader接口。DownloaderFactory也负责把<downloader>配置节中的设置传递给下载器的Init方法,Init允许使用额外的参数。
3. 最后,ApplicationUpdateManager类为每一个要升级的应用程序实例化一个DownloaderManager类,并且将它传给下载器。DownloaderManager类阶段性的使用下载器为每一个可升级的应用程序拷贝manifest文件并且检查升级。如果有一个可用的升级,DownloaderManager类使用下载器拷贝升级文件到客户端上的一个临时目录。
Updater Application Block包含一个叫做BITSDownloader下载器类,该下载器使用后台智能传输服务拷贝文件。你可以选择使用这个下载器,或者通过实现IDownloader接口创建一个定制的下载器类。
译者: Tony Qu
Updater Application Block使用一个可扩展的下载器架构从指定的服务器上拷贝manifest文件和应用程序升级文件到客户端。
图1 展示了下载器架构
图1 包括下列过程
1. ApplicationUpdateManager类使用UpdaterConfiguration类的实例属性读取应用程序下载器配置文件中的<downloader>节。这个配置节包含要使用的下载器的完整集合[assembly]名称和类型[type]名称。更多关于应用程序设计的信息可以参考Application Updater配置设计。
2. DownloaderFactory类用来实例化一个特定的下载器,下载器必须实现IDownloader接口。DownloaderFactory也负责把<downloader>配置节中的设置传递给下载器的Init方法,Init允许使用额外的参数。
3. 最后,ApplicationUpdateManager类为每一个要升级的应用程序实例化一个DownloaderManager类,并且将它传给下载器。DownloaderManager类阶段性的使用下载器为每一个可升级的应用程序拷贝manifest文件并且检查升级。如果有一个可用的升级,DownloaderManager类使用下载器拷贝升级文件到客户端上的一个临时目录。
Updater Application Block包含一个叫做BITSDownloader下载器类,该下载器使用后台智能传输服务拷贝文件。你可以选择使用这个下载器,或者通过实现IDownloader接口创建一个定制的下载器类。