diff --git a/AgileConfig.Server.Service/ConfigService.cs b/AgileConfig.Server.Service/ConfigService.cs index cc7647f8..0db34291 100644 --- a/AgileConfig.Server.Service/ConfigService.cs +++ b/AgileConfig.Server.Service/ConfigService.cs @@ -299,8 +299,8 @@ public async Task AppPublishedConfigsMd5(string appId, string env) && c.Env == env ).ToListAsync(); - var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k)); - var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v)); + var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.Ordinal)); + var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.Ordinal)); var txt = $"{keyStr}&{valStr}"; return Encrypt.Md5(txt); @@ -428,8 +428,8 @@ public async Task AppPublishedConfigsMd5WithInheritanced(string appId, s { var configs = await GetPublishedConfigsByAppIdWithInheritanced(appId, env); - var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.InvariantCultureIgnoreCase)); - var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.InvariantCultureIgnoreCase)); + var keyStr = string.Join('&', configs.Select(c => GenerateKey(c)).ToArray().OrderBy(k => k, StringComparer.Ordinal)); + var valStr = string.Join('&', configs.Select(c => c.Value).ToArray().OrderBy(v => v, StringComparer.Ordinal)); var txt = $"{keyStr}&{valStr}"; return Encrypt.Md5(txt); @@ -931,8 +931,6 @@ private async Task SaveFromDictAsync(IDictionary dict, str } } - - if (addConfigs.Any()) { await dbcontext.Configs.AddRangeAsync(addConfigs); diff --git a/AgileConfig.Server.Service/ServiceInfoService.cs b/AgileConfig.Server.Service/ServiceInfoService.cs index a312d591..e899223e 100644 --- a/AgileConfig.Server.Service/ServiceInfoService.cs +++ b/AgileConfig.Server.Service/ServiceInfoService.cs @@ -94,7 +94,7 @@ public async Task ServicesMD5() private string GenerateMD5(List services) { var sb = new StringBuilder(); - foreach (var serviceInfo in services.OrderBy(x => x.ServiceId)) + foreach (var serviceInfo in services.OrderBy(x => x.ServiceId, StringComparer.Ordinal)) { var metaDataStr = ""; if (!string.IsNullOrEmpty(serviceInfo.MetaData)) @@ -102,7 +102,7 @@ private string GenerateMD5(List services) var metaData = JsonConvert.DeserializeObject>(serviceInfo.MetaData); if (metaData != null) { - metaDataStr = string.Join(",", metaData.OrderBy(x => x)); + metaDataStr = string.Join(",", metaData.OrderBy(x => x, StringComparer.Ordinal)); } }