Browse Source

Fix #2736: AbpStringLocalizerFactory in "Volo.Abp.Localization" namespace sometimes cause issue

rel-2.2
Halil İbrahim Kalkan 6 years ago
parent
commit
338b55e9ed
  1. 16
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpStringLocalizerFactory.cs

16
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpStringLocalizerFactory.cs

@ -38,10 +38,18 @@ namespace Volo.Abp.Localization
return _innerFactory.Create(resourceType);
}
return _localizerCache.GetOrAdd(
resourceType,
_ => CreateStringLocalizerCacheItem(resource)
).Localizer;
if (_localizerCache.TryGetValue(resourceType, out var cacheItem))
{
return cacheItem.Localizer;
}
lock (_localizerCache)
{
return _localizerCache.GetOrAdd(
resourceType,
_ => CreateStringLocalizerCacheItem(resource)
).Localizer;
}
}
private StringLocalizerCacheItem CreateStringLocalizerCacheItem(LocalizationResource resource)

Loading…
Cancel
Save