/// <summary> /// All resources are cached and backed up. /// </summary> /// <param name="files"></param> /// <exception cref="Exception"></exception> private async Task Cache(IEnumerable <string> files) { if (_files == null) { return; } try { foreach (var file in files) { var fileMD5 = FileUtil.GetFileMD5(file); var entity = await Handle(file, fileMD5); _configCache.TryAdd(fileMD5, entity); } _configCache.Build(); } catch (Exception ex) { throw new Exception($"'Cache' error :{ ex.Message } .", ex.InnerException); } }