Browse Source

Merge pull request #13249 from abpframework/auto-merge/rel-5-3/1178

Merge branch dev with rel-5.3
pull/13253/head
maliming 4 years ago
committed by GitHub
parent
commit
9fbb920e04
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/AbpSystemTextJsonSerializerProvider.cs

9
framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/AbpSystemTextJsonSerializerProvider.cs

@ -40,11 +40,16 @@ public class AbpSystemTextJsonSerializerProvider : IJsonSerializerProvider, ITra
return JsonSerializer.Deserialize(jsonString, type, CreateJsonSerializerOptions(camelCase)); return JsonSerializer.Deserialize(jsonString, type, CreateJsonSerializerOptions(camelCase));
} }
private readonly ConcurrentDictionary<string, JsonSerializerOptions> JsonSerializerOptionsCache = new ConcurrentDictionary<string, JsonSerializerOptions>(); private readonly static ConcurrentDictionary<object, JsonSerializerOptions> JsonSerializerOptionsCache = new ConcurrentDictionary<object, JsonSerializerOptions>();
protected virtual JsonSerializerOptions CreateJsonSerializerOptions(bool camelCase = true, bool indented = false) protected virtual JsonSerializerOptions CreateJsonSerializerOptions(bool camelCase = true, bool indented = false)
{ {
return JsonSerializerOptionsCache.GetOrAdd($"default{camelCase}{indented}", _ => return JsonSerializerOptionsCache.GetOrAdd(new
{
camelCase,
indented,
Options.JsonSerializerOptions
}, _ =>
{ {
var settings = new JsonSerializerOptions(Options.JsonSerializerOptions); var settings = new JsonSerializerOptions(Options.JsonSerializerOptions);

Loading…
Cancel
Save