From ed0934f7f4ef84f7263f2068aed842a29664d8ba Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 24 Jul 2019 08:32:20 +0800 Subject: [PATCH] ApiDescriptionFinder uses static JsonSerializerSettings directly. --- .../DynamicProxying/ApiDescriptionFinder.cs | 29 ++++--------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs index d8d0204555..882bf94cb0 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs @@ -18,6 +18,11 @@ namespace Volo.Abp.Http.Client.DynamicProxying protected IApiDescriptionCache Cache { get; } + private static readonly JsonSerializerSettings SharedJsonSerializerSettings = new JsonSerializerSettings + { + ContractResolver = new CamelCasePropertyNamesContractResolver() + }; + public ApiDescriptionFinder( IApiDescriptionCache cache, IDynamicProxyHttpClientFactory httpClientFactory) @@ -94,32 +99,10 @@ namespace Volo.Abp.Http.Client.DynamicProxying var result = JsonConvert.DeserializeObject( content, - typeof(ApplicationApiDescriptionModel), GetSharedJsonSerializerSettings()); + typeof(ApplicationApiDescriptionModel), SharedJsonSerializerSettings); return (ApplicationApiDescriptionModel)result; } } - - private static readonly object SyncObj = new object(); - private static JsonSerializerSettings _sharedJsonSerializerSettings; - - private static JsonSerializerSettings GetSharedJsonSerializerSettings() - { - if (_sharedJsonSerializerSettings == null) - { - lock (SyncObj) - { - if (_sharedJsonSerializerSettings == null) - { - _sharedJsonSerializerSettings = new JsonSerializerSettings - { - ContractResolver = new CamelCasePropertyNamesContractResolver() - }; - } - } - } - - return _sharedJsonSerializerSettings; - } } }