diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs index 21cb11e318..197ae6d07d 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs @@ -37,7 +37,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending Modules = new Dictionary() }; - foreach (var moduleConfig in ObjectExtensionManager.Instance.Modules) + foreach (var moduleConfig in ObjectExtensionManager.Instance.Modules()) { var moduleExtensionDto = objectExtensionsDto.Modules[moduleConfig.Key] = new ModuleExtensionDto { diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleObjectExtensionConfigurationHelper.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleObjectExtensionConfigurationHelper.cs index 8bff5e8f05..6df0e58fb0 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleObjectExtensionConfigurationHelper.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/Modularity/ModuleObjectExtensionConfigurationHelper.cs @@ -122,7 +122,7 @@ namespace Volo.Abp.ObjectExtending.Modularity string moduleName, string objectName) { - var moduleConfig = ObjectExtensionManager.Instance.Modules.GetOrDefault(moduleName); + var moduleConfig = ObjectExtensionManager.Instance.Modules().GetOrDefault(moduleName); if (moduleConfig == null) { return Array.Empty(); diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs new file mode 100644 index 0000000000..7a1422f2f6 --- /dev/null +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionManagerExtensions.cs @@ -0,0 +1,22 @@ +using System.Collections.Generic; +using JetBrains.Annotations; +using Volo.Abp.ObjectExtending.Modularity; + +namespace Volo.Abp.ObjectExtending +{ + public static class ModuleObjectExtensionManagerExtensions + { + private const string ObjectExtensionManagerConfigurationKey = "_Modules"; + + public static ModuleObjectExtensionConfigurationDictionary Modules( + [NotNull]this ObjectExtensionManager objectExtensionManager) + { + Check.NotNull(objectExtensionManager, nameof(objectExtensionManager)); + + return objectExtensionManager.Configuration.GetOrAdd( + ObjectExtensionManagerConfigurationKey, + () => new ModuleObjectExtensionConfigurationDictionary() + ) as ModuleObjectExtensionConfigurationDictionary; + } + } +} diff --git a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs index 45a4be8847..26b692c232 100644 --- a/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs +++ b/framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ObjectExtensionManager.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Collections.Immutable; using JetBrains.Annotations; using Volo.Abp.Data; -using Volo.Abp.ObjectExtending.Modularity; namespace Volo.Abp.ObjectExtending { @@ -16,13 +15,10 @@ namespace Volo.Abp.ObjectExtending protected Dictionary ObjectsExtensions { get; } - public ModuleObjectExtensionConfigurationDictionary Modules { get; } - protected internal ObjectExtensionManager() { ObjectsExtensions = new Dictionary(); Configuration = new Dictionary(); - Modules = new ModuleObjectExtensionConfigurationDictionary(); } [NotNull]