WEB开发网
开发学院图形图像Flash 使用SilverLight构建插件式应用程序(一) 阅读

使用SilverLight构建插件式应用程序(一)

 2008-10-23 11:44:05 来源:WEB开发网   
核心提示: Filename:插件的文件名称;Version:插件的版本,这个很重要,使用SilverLight构建插件式应用程序(一)(3),每次系统启动之后都会读取服务的配置文件,根据版本是否相同来判断插件是否需要更新,下边开始进入流程:项目启动的时候,下载配置文件信息://获取升级配置文件,如果

Filename:插件的文件名称;

Version:插件的版本,这个很重要,每次系统启动之后都会读取服务的配置文件,根据版本是否相同来判断插件是否需要更新,如果需要更新,就下载到客户端;

Layout:布局方式;

Typename:很重要,类型名称,用来反射的时候使用。

在主项目建立一个实体对象描述插件信息:

public class PluginConf
  {
    public string filename { get; set; }
    public string version { get; set; }
    public string layout { get; set; }
    public string titlename { get; set; }
    public string imagename { get; set; }
    public string typename { get; set; }
    public string description { get; set; }
}

至此,准备工作完成,下边开始进入流程:

项目启动的时候,下载配置文件信息:

//获取升级配置文件,检测是否需要下载新的插件文件

      WebClient wcPlugin = new WebClient();
      if (wcPlugin.IsBusy)
      {
        wcPlugin.CancelAsync();
      }
      wcPlugin.OpenReadCompleted += new OpenReadCompletedEventHandler(wcPlugin_OpenReadCompleted);
      wcPlugin.OpenReadAsync(new Uri(PublicUnit.PluginConfigFile, UriKind.Relative));
void wcPlugin_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {

//获取服务器的升级文件

      Stream d = e.Result as Stream;
      XElement xmlServer = XElement.Load(System.Xml.XmlReader.Create(e.Result));
      //定义查询方法
      IEnumerable<PluginConf> pluginConfsServer = from c in xmlServer.DescendantsAndSelf("assembly")
                            select new PluginConf
            {
              description = c.Elements("description").SingleOrDefault().Value,
              filename = c.Elements("filename").SingleOrDefault().Value,
              layout = c.Elements("layout").SingleOrDefault().Value,
              imagename = c.Elements("imagename").SingleOrDefault().Value,
              titlename = c.Elements("titlename").SingleOrDefault().Value,
              typename = c.Elements("typename").SingleOrDefault().Value,
              version = c.Elements("version").SingleOrDefault().Value          
            };
}

至此,把服务器端的配置文件加载到了本地

上一页  1 2 3 

Tags:使用 SilverLight 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接