From ccd3354b8ad0d8dd06da40603830ebfc8e4e3186 Mon Sep 17 00:00:00 2001 From: Lars-Erik Aabech Date: Wed, 24 Oct 2018 21:06:52 +0200 Subject: [PATCH] Revert "Wrapping server messenger factory to avoid re-registering for now." This reverts commit 1198191e051fd40891177ee30ffe8e9d33a3c856. --- .../Components/CompositionExtensions.cs | 43 ++++++------------- .../Runtime/CoreRuntimeComponent.cs | 3 +- 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/src/Umbraco.Core/Components/CompositionExtensions.cs b/src/Umbraco.Core/Components/CompositionExtensions.cs index 1bbb3faff0..abc0fa3862 100644 --- a/src/Umbraco.Core/Components/CompositionExtensions.cs +++ b/src/Umbraco.Core/Components/CompositionExtensions.cs @@ -172,23 +172,16 @@ namespace Umbraco.Core.Components composition.Container.RegisterSingleton(_ => registrar); } - - // review since only one is called in the core for now, I remove this - // it allows us to wrap the factory to "allow re-registration". - ///// - ///// Sets the server messenger. - ///// - ///// The type of the server registrar. - ///// The composition. - //public static void SetServerMessenger(this Composition composition) - // where T : IServerMessenger - //{ - // composition.Container.Register(Lifetime.Singleton); - //} - - private static Func serverMessengerFactory = null; - private static bool serverMessengerIsRegistered = false; - private static Func wrappedServerMessengerFactory = c => serverMessengerFactory(c); + /// + /// Sets the server messenger. + /// + /// The type of the server registrar. + /// The composition. + public static void SetServerMessenger(this Composition composition) + where T : IServerMessenger + { + composition.Container.Register(Lifetime.Singleton); + } /// /// Sets the server messenger. @@ -197,13 +190,7 @@ namespace Umbraco.Core.Components /// A function creating a server messenger. public static void SetServerMessenger(this Composition composition, Func factory) { - if (!serverMessengerIsRegistered) - { - serverMessengerIsRegistered = true; - composition.Container.RegisterSingleton(wrappedServerMessengerFactory); - } - - serverMessengerFactory = factory; + composition.Container.RegisterSingleton(factory); } /// @@ -213,13 +200,7 @@ namespace Umbraco.Core.Components /// A server messenger. public static void SetServerMessenger(this Composition composition, IServerMessenger registrar) { - if (!serverMessengerIsRegistered) - { - serverMessengerIsRegistered = true; - composition.Container.RegisterSingleton(wrappedServerMessengerFactory); - } - - serverMessengerFactory = c => registrar; + composition.Container.RegisterSingleton(_ => registrar); } /// diff --git a/src/Umbraco.Core/Runtime/CoreRuntimeComponent.cs b/src/Umbraco.Core/Runtime/CoreRuntimeComponent.cs index ae9955706c..9d7c3e5a6a 100644 --- a/src/Umbraco.Core/Runtime/CoreRuntimeComponent.cs +++ b/src/Umbraco.Core/Runtime/CoreRuntimeComponent.cs @@ -74,8 +74,7 @@ namespace Umbraco.Core.Runtime // by default we'll use the database server messenger with default options (no callbacks), // this will be overridden by either the legacy thing or the db thing in the corresponding // components in the web project - fixme - should obsolete the legacy thing - composition.SetServerMessenger( - factory + composition.Container.RegisterSingleton(factory => new DatabaseServerMessenger( factory.GetInstance(), factory.GetInstance(),