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

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

 2008-10-23 11:44:00 来源:WEB开发网   
核心提示: 首先判断本地文件是否存在,if (store.FileExists(PublicUnit.PluginConfigFile)),使用SilverLight构建插件式应用程序(二)(2),如果存在就使用Linq读取;读取完成之后,就比较本地的配置文件和服务器的配置文件,//由于我对DLinq

首先判断本地文件是否存在,if (store.FileExists(PublicUnit.PluginConfigFile)),如果存在就使用Linq读取;

读取完成之后,就比较本地的配置文件和服务器的配置文件,如果本地的配置和服务器的配置的版本不一致或者不存在,就表示需要从服务器重新下载:

//比较是否需要下载服务器端的插件进行升级
      foreach (PluginConf pServer in pluginConfsServer)
      {
        bool bUpdate = true;
        //判断是否需要升级,
        //由于我对DLinq不熟悉,暂时使用这个方法匹配
        if (pluginConfsClient != null)
        {
          foreach (PluginConf pClient in pluginConfsClient)
          {
            if (pServer.filename == pClient.filename)
            {
              if (pServer.version == pClient.version)
              {
                //如果文件名字相同和版本相同,就不需要要升级
                bUpdate = false;
                ShowLoadPlugin(pServer);
              }
            }
          }
        }
        //判断是否需要升级
        if (bUpdate)
        {
          this.canvasProgress.Visibility = Visibility.Visible;
          progressTitle.Text = "正在下载“" + pServer.titlename + "”:";
          DownLoadPlugin(pServer.filename);
        }
      }
  //所有的下载完成之后,更新本地的记录文件
      using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
      {
        if(store.FileExists(WindCloud.Main.PublicUnit.PluginConfigFile))
        {
          store.DeleteFile(WindCloud.Main.PublicUnit.PluginConfigFile);
        }
        IsolatedStorageFileStream fileStream = store.CreateFile(WindCloud.Main.PublicUnit.PluginConfigFile);
        using (StreamWriter sw = new StreamWriter(fileStream))
        {
          Stream s = e.Result as Stream;
          s.Position = 0;
          Byte[] info = new Byte[s.Length];
          s.Read(info, 0, (int)s.Length);
          sw.BaseStream.Write(info, 0, info.Length);
          sw.Flush();
          sw.Close();
        }
        fileStream.Close();
      }   

Tags:使用 SilverLight 构建

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