Add additional critical section to JSONMapper.GetOrBuildMapping(..)

master
Harald Wolff 2022-12-20 13:26:48 +01:00
parent 3e2e2d717c
commit 3677c6847b
2 changed files with 8 additions and 2 deletions

View File

@ -9,7 +9,7 @@
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<AssemblyVersion>0.1.0.0</AssemblyVersion>
<FileVersion>0.1.0.0</FileVersion>
<PackageVersion>1.2.2</PackageVersion>
<PackageVersion>1.2.3</PackageVersion>
<TargetFrameworks>net5.0;net6.0</TargetFrameworks>
</PropertyGroup>

View File

@ -66,7 +66,13 @@ namespace ln.json.mapping
Dictionary<Type, MappingFactory> mappingFactories = new Dictionary<Type, MappingFactory>();
public virtual void AddMappingFactory(Type targetType, MappingFactory mappingFactory) => mappingFactories.Add(targetType, mappingFactory);
public virtual bool GetOrBuildMapping(Type nativeType, out JSONMapping mapping) => TryGetMapping(nativeType, out mapping) || TryBuildRememberedMapping(nativeType, out mapping);
public virtual bool GetOrBuildMapping(Type nativeType, out JSONMapping mapping)
{
lock (mappings)
{
return TryGetMapping(nativeType, out mapping) || TryBuildRememberedMapping(nativeType, out mapping);
}
}
public virtual bool TryBuildRememberedMapping(Type nativeType,out JSONMapping mapping)
{