From 7658c75319e62d609a1f9289069cd6a462ef84df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Dec 2016 17:29:30 +0300 Subject: [PATCH] Revise app initialize and shotdown components. --- src/Volo.Abp/Volo/Abp/AbpApplication.cs | 4 ++-- .../IOnApplicationInitialization.cs | 3 ++- .../IOnApplicationShutdown.cs | 3 ++- .../DefaultModuleLifecycleContributer.cs | 21 +++---------------- .../Modularity/IModuleLifecycleContributer.cs | 4 ++-- .../Volo/Abp/Modularity/IModuleManager.cs | 4 ++-- .../ModuleLifecycleContributerBase.cs | 4 ++-- .../Volo/Abp/Modularity/ModuleManager.cs | 8 +++---- 8 files changed, 19 insertions(+), 32 deletions(-) rename src/Volo.Abp/Volo/Abp/{Modularity => }/IOnApplicationInitialization.cs (80%) rename src/Volo.Abp/Volo/Abp/{Modularity => }/IOnApplicationShutdown.cs (78%) diff --git a/src/Volo.Abp/Volo/Abp/AbpApplication.cs b/src/Volo.Abp/Volo/Abp/AbpApplication.cs index 9a22ebe5a4..95903a9cb2 100644 --- a/src/Volo.Abp/Volo/Abp/AbpApplication.cs +++ b/src/Volo.Abp/Volo/Abp/AbpApplication.cs @@ -65,7 +65,7 @@ namespace Volo.Abp Check.NotNull(serviceProvider, nameof(serviceProvider)); ServiceProvider = serviceProvider; - ServiceProvider.GetRequiredService().InitializeModules(); + ServiceProvider.GetRequiredService().InitializeModules(new ApplicationInitializationContext(serviceProvider)); } private AbpModuleDescriptor[] LoadModules(IServiceCollection services, AbpApplicationCreationOptions options) @@ -81,7 +81,7 @@ namespace Volo.Abp public void Shutdown() { - ServiceProvider.GetRequiredService().ShutdownModules(); + ServiceProvider.GetRequiredService().ShutdownModules(new ApplicationShutdownContext()); } } } diff --git a/src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationInitialization.cs b/src/Volo.Abp/Volo/Abp/IOnApplicationInitialization.cs similarity index 80% rename from src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationInitialization.cs rename to src/Volo.Abp/Volo/Abp/IOnApplicationInitialization.cs index 17a7819186..fc7156b0a5 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationInitialization.cs +++ b/src/Volo.Abp/Volo/Abp/IOnApplicationInitialization.cs @@ -1,6 +1,7 @@ using JetBrains.Annotations; +using Volo.Abp.Modularity; -namespace Volo.Abp.Modularity +namespace Volo.Abp { public interface IOnApplicationInitialization { diff --git a/src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationShutdown.cs b/src/Volo.Abp/Volo/Abp/IOnApplicationShutdown.cs similarity index 78% rename from src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationShutdown.cs rename to src/Volo.Abp/Volo/Abp/IOnApplicationShutdown.cs index f2cb12e700..f72c1af718 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/IOnApplicationShutdown.cs +++ b/src/Volo.Abp/Volo/Abp/IOnApplicationShutdown.cs @@ -1,6 +1,7 @@ using JetBrains.Annotations; +using Volo.Abp.Modularity; -namespace Volo.Abp.Modularity +namespace Volo.Abp { public interface IOnApplicationShutdown { diff --git a/src/Volo.Abp/Volo/Abp/Modularity/DefaultModuleLifecycleContributer.cs b/src/Volo.Abp/Volo/Abp/Modularity/DefaultModuleLifecycleContributer.cs index abb927d4b0..01d7181cbd 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/DefaultModuleLifecycleContributer.cs +++ b/src/Volo.Abp/Volo/Abp/Modularity/DefaultModuleLifecycleContributer.cs @@ -1,29 +1,14 @@ -using System; - -namespace Volo.Abp.Modularity +namespace Volo.Abp.Modularity { public class DefaultModuleLifecycleContributer : ModuleLifecycleContributerBase { - private readonly IServiceProvider _serviceProvider; - - public DefaultModuleLifecycleContributer(IServiceProvider serviceProvider) + public override void Initialize(ApplicationInitializationContext context, IAbpModule module) { - _serviceProvider = serviceProvider; - } - - public override void Initialize(IAbpModule module) - { - var context = new ApplicationInitializationContext( - _serviceProvider - ); - (module as IOnApplicationInitialization)?.OnApplicationInitialization(context); } - public override void Shutdown(IAbpModule module) + public override void Shutdown(ApplicationShutdownContext context, IAbpModule module) { - var context = new ApplicationShutdownContext(); - (module as IOnApplicationShutdown)?.OnApplicationShutdown(context); } } diff --git a/src/Volo.Abp/Volo/Abp/Modularity/IModuleLifecycleContributer.cs b/src/Volo.Abp/Volo/Abp/Modularity/IModuleLifecycleContributer.cs index a7e7dda674..ac0686453e 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/IModuleLifecycleContributer.cs +++ b/src/Volo.Abp/Volo/Abp/Modularity/IModuleLifecycleContributer.cs @@ -5,8 +5,8 @@ namespace Volo.Abp.Modularity { public interface IModuleLifecycleContributer : ISingletonDependency { - void Initialize([NotNull] IAbpModule module); + void Initialize([NotNull] ApplicationInitializationContext context, [NotNull] IAbpModule module); - void Shutdown([NotNull] IAbpModule module); + void Shutdown([NotNull] ApplicationShutdownContext context, [NotNull] IAbpModule module); } } diff --git a/src/Volo.Abp/Volo/Abp/Modularity/IModuleManager.cs b/src/Volo.Abp/Volo/Abp/Modularity/IModuleManager.cs index d50ddc7611..06e4a8c790 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/IModuleManager.cs +++ b/src/Volo.Abp/Volo/Abp/Modularity/IModuleManager.cs @@ -8,8 +8,8 @@ namespace Volo.Abp.Modularity [NotNull] IReadOnlyList Modules { get; } - void InitializeModules(); + void InitializeModules([NotNull] ApplicationInitializationContext context); - void ShutdownModules(); + void ShutdownModules([NotNull] ApplicationShutdownContext context); } } diff --git a/src/Volo.Abp/Volo/Abp/Modularity/ModuleLifecycleContributerBase.cs b/src/Volo.Abp/Volo/Abp/Modularity/ModuleLifecycleContributerBase.cs index b657090556..b78aac1df0 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/ModuleLifecycleContributerBase.cs +++ b/src/Volo.Abp/Volo/Abp/Modularity/ModuleLifecycleContributerBase.cs @@ -2,11 +2,11 @@ { public abstract class ModuleLifecycleContributerBase : IModuleLifecycleContributer { - public virtual void Initialize(IAbpModule module) + public virtual void Initialize(ApplicationInitializationContext context, IAbpModule module) { } - public virtual void Shutdown(IAbpModule module) + public virtual void Shutdown(ApplicationShutdownContext context, IAbpModule module) { } } diff --git a/src/Volo.Abp/Volo/Abp/Modularity/ModuleManager.cs b/src/Volo.Abp/Volo/Abp/Modularity/ModuleManager.cs index 18405efa26..ab273507bb 100644 --- a/src/Volo.Abp/Volo/Abp/Modularity/ModuleManager.cs +++ b/src/Volo.Abp/Volo/Abp/Modularity/ModuleManager.cs @@ -20,24 +20,24 @@ namespace Volo.Abp.Modularity _modules = application.Modules.ToList(); } - public void InitializeModules() + public void InitializeModules(ApplicationInitializationContext context) { foreach (var contributer in _lifecycleContributers) { foreach (var module in Modules) { - contributer.Initialize(module.Instance); + contributer.Initialize(context, module.Instance); } } } - public void ShutdownModules() + public void ShutdownModules(ApplicationShutdownContext context) { foreach (var contributer in _lifecycleContributers) { foreach (var module in Modules) { - contributer.Shutdown(module.Instance); + contributer.Shutdown(context, module.Instance); } } }