diff --git a/src/Orchard/Localization/LocalizationModule.cs b/src/Orchard/Localization/LocalizationModule.cs index 7939aab0b..11f1ae61a 100644 --- a/src/Orchard/Localization/LocalizationModule.cs +++ b/src/Orchard/Localization/LocalizationModule.cs @@ -25,6 +25,10 @@ namespace Orchard.Localization { var scope = registration.Activator.LimitType.FullName; registration.Activated += (sender, e) => { + if (e.Instance.GetType().FullName != scope) { + return; + } + var localizer = _localizerCache.GetOrAdd(scope, key => LocalizationUtilities.Resolve(e.Context, scope)); userProperty.SetValue(e.Instance, localizer, null); }; diff --git a/src/Orchard/Logging/LoggingModule.cs b/src/Orchard/Logging/LoggingModule.cs index b658d7073..49fb93568 100644 --- a/src/Orchard/Logging/LoggingModule.cs +++ b/src/Orchard/Logging/LoggingModule.cs @@ -62,6 +62,9 @@ namespace Orchard.Logging { yield return (ctx, instance) => { string component = componentType.ToString(); + if (component != instance.GetType().ToString()) { + return; + } var logger = _loggerCache.GetOrAdd(component, key => ctx.Resolve(new TypedParameter(typeof(Type), componentType))); propertyInfo.SetValue(instance, logger, null); };