/// <summary> /// 更新系统运行信息 /// </summary> /// <param name="systemId"></param> /// <param name="updateFiles"></param> /// <param name="reset"></param> private static void UpdateSystemRunInfo(int systemId, IEnumerable <RunFile> updateFiles, bool reset = false) { SystemRunInfo newRunInfo = null; if (!reset) { newRunInfo = DeserializeRunInfo(systemId); } if (newRunInfo == null) { newRunInfo = new SystemRunInfo { RunFiles = new DicIgnoreCase <string>(), }; } var runFiles = newRunInfo.RunFiles; foreach (var f in updateFiles) { if (f.Status == RunFileStatus.Update) { runFiles[f.Path] = f.Tag; } else { // delete runFiles.Remove(f.Path); } } newRunInfo.Ver = DateTime.Now.ToString("yyyyMMddHHmmss"); SerializeRunInfo(systemId, newRunInfo); }
private static void SerializeRunInfo(int systemId, SystemRunInfo runInfo) { var jsonFile = GetSystemRunInfoFile(systemId); //using (var writer = new BinaryWriter(File.Create(jsonFile), Encoding.UTF8)) //{ // writer.Write(runInfo.Ver); // writer.Write(runInfo.RunFiles.Count); // foreach (var e in runInfo.RunFiles) // { // writer.Write(e.Key); // writer.Write(e.Value); // } //} File.WriteAllText(jsonFile, JsonConvert.SerializeObject(runInfo, new JsonSerializerSettings { Formatting = Formatting.Indented, }), Encoding.UTF8); }