diff --git a/Sdl.Web.Tridion/Resolvers/Localization/GraphQLLocalizationResolver.cs b/Sdl.Web.Tridion/Resolvers/Localization/GraphQLLocalizationResolver.cs index af4f05c6..b1a87ce6 100644 --- a/Sdl.Web.Tridion/Resolvers/Localization/GraphQLLocalizationResolver.cs +++ b/Sdl.Web.Tridion/Resolvers/Localization/GraphQLLocalizationResolver.cs @@ -67,23 +67,25 @@ public override Localization ResolveLocalization(Uri url) } string localizationId = mapping.PublicationId.ToString(); - if (!KnownLocalizations.TryGetValue(localizationId, out result)) + lock (KnownLocalizations) { - result = new Localization + if (!KnownLocalizations.TryGetValue(localizationId, out result)) { - Id = localizationId, - Path = mapping.Path - }; - KnownLocalizations.Add(localizationId, result); - } - else - { - // we fill in the path regardless as it may of been - // a partially created localization. - result.Path = mapping.Path; + result = new Localization + { + Id = localizationId, + Path = mapping.Path + }; + KnownLocalizations.Add(localizationId, result); + } + else + { + // we fill in the path regardless as it may of been + // a partially created localization. + result.Path = mapping.Path; + } } - result.EnsureInitialized(); Log.Trace($"Localization for url '{url}' initialized and reports to be for Publication Id: {result.PublicationId()}, Path: {result.Path}");