/// <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);
            }
        }