コード例 #1
0
 public AbpModuleManager(IIocManager iocManager, IAbpPlugInManager abpPlugInManager)
 {
     _iocManager       = iocManager;
     _abpPlugInManager = abpPlugInManager;
     _modules          = new AbpModuleCollection();
     Logger            = NullLogger.Instance;
 }
コード例 #2
0
        /// <summary>
        /// 加载所有的模块
        /// </summary>
        private void LoadAllModules()
        {
            Logger.Debug("Loading Abp modules...");

            //1、找到所有模块
            var moduleTypes = FindAllModules();

            Logger.Debug("Found " + moduleTypes.Count + " Abp modules in total.");

            //2、将所有模块都注册到IOC容器中
            RegisterModules(moduleTypes);
            //3、从Ioc容器中依次解析模块
            CreateModules(moduleTypes);
            //4、对所有的model进行排序,确保核心模块AbpKernelModule在第一个位置
            AbpModuleCollection.EnsureKernelModuleToBeFirst(_modules);
            //5、再依次设置模块的依赖模块
            SetDependencies();

            Logger.DebugFormat("{0} Modules loaded.", _modules.Count);
        }