Exemplo n.º 1
0
        /// <summary>
        /// Add in Global.Application_Start (Static Mode)
        /// </summary>
        /// <param name="app"></param>
        /// <returns></returns>
        public static ModularizationModuleTable AddModularization(this HttpApplication app)
        {
            moduleTable = new();
            middleware  = new(moduleTable);

            return(moduleTable);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static ModularizationModuleTable AddModularization(this IServiceCollection services)
        {
            var moduleTable = new ModularizationModuleTable(services);

            services.AddSingleton(moduleTable);

            return(moduleTable);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Add in Global.Application_Start (Use DI)
        /// </summary>
        /// <param name="app"></param>
        /// <param name="registerServiceType"></param>
        /// <param name="registerServiceImplementationFactory"></param>
        /// <returns></returns>
        public static ModularizationModuleTable AddModularization(this HttpApplication app,
                                                                  Action <Type, string> registerServiceType,
                                                                  Action <Type, Func <IServiceProvider, object>, string> registerServiceImplementationFactory)
        {
            var moduleTable = new ModularizationModuleTable(registerServiceType, registerServiceImplementationFactory);

            registerServiceImplementationFactory.Invoke(typeof(ModularizationModuleTable), serviceProvider => moduleTable, "Singleton");
            registerServiceImplementationFactory.Invoke(typeof(ModularizationMiddleware), serviceProvider => new ModularizationMiddleware(serviceProvider), "Singleton");

            return(moduleTable);
        }