Exemple #1
0
        protected void Application_Start()
        {
            InitializeLogging();

            SetAdoNetAppenderConnectionStrings("AtomicCms");
            StructureMapRegistration.RegisterAll();

            AreaRegistration.RegisterAllAreas();
            RegisterRoutes(RouteTable.Routes);
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new CustomRazorViewEngine());
            ViewEngines.Engines.Add(new CustomWebFormViewEngine());

            ControllerBuilder.Current.SetControllerFactory(new AtomicCmsControllerFactory());
        }
Exemple #2
0
        private static void SelectIoC()
        {
            Console.WriteLine("Select IoC/DI container:");
            Console.WriteLine("Press C for Castle Windsor");
            Console.WriteLine("Press S for StructureMap");

            ConsoleKeyInfo cki = Console.ReadKey(false);

            switch (cki.Key)
            {
            case ConsoleKey.C:
                CastleRegistration.Register();
                break;

            case ConsoleKey.S:
                StructureMapRegistration.Register();
                break;

            default:
                throw new InvalidOperationException("Please press either C or S keys.");
            }
        }
Exemple #3
0
        /// <summary>
        /// The build.
        /// </summary>
        /// <param name="services">
        /// The services.
        /// </param>
        /// <param name="configuration">
        /// The configuration.
        /// </param>
        /// <param name="hostingEnvironment">
        /// The hosting environment.
        /// </param>
        /// <returns>
        /// The <see cref="IServiceProvider"/>.
        /// </returns>
        public static IServiceProvider Build(
            this IServiceCollection services,
            IConfiguration configuration,
            IHostingEnvironment hostingEnvironment,
            string scanFolder,
            string searchAssemblies
            )
        {
            var container = StructureMapRegistration.CreateAndConfigure(configuration, services, scanFolder, searchAssemblies);

            services.AddSingleton(configuration);

            // Setup identity
            //var identityManager = container.TryGetInstance<IIdentityManager>();
            //identityManager?.AddCustomizedIdentity(services, configuration, null);

            container.Configure(config => config.Populate(services));

            //IUnitOfWork unitOfWork = container.GetInstance<IDatabaseManager>().BeginUnitOfWork(
            //    container.GetInstance<IDataConfiguration>());

            //For<IDataConfiguration>().Use<DataConfiguration>
            //    .Ctor<string>("connectionString").Is(dataConfiguration);



            //container.Configure(
            //    config =>
            //        {
            //            config.For<IUnitOfWork>().LifecycleIs(Lifecycles.Transient).Use(() => unitOfWork);
            //        });

            IDatabaseManager   databaseManager   = container.GetInstance <IDatabaseManager>();
            IDataConfiguration dataConfiguration = container.GetInstance <IDataConfiguration>();

            databaseManager.RegisterUnitOfWork(dataConfiguration, container);

            return(container.GetInstance <IServiceProvider>());
        }