Пример #1
0
        protected override void ConfigureContainer()
        {
            base.ConfigureContainer();

            Container.RegisterType <ILogger, Logger>(new ContainerControlledLifetimeManager());

            RepositoryInitializer.Initialize(Container,
                                             () => PathHelper.AppDataFolderPath);

            DomainServicesInitializer.Initialize(Container);
        }
Пример #2
0
        /// <summary>
        /// 初始化数据库。
        /// </summary>
        /// <param name="host">已经创建的应用程序宿主环境。</param>
        private static void InitializeDatabase(IWebHost host)
        {
            _logger.Trace("初始化数据库...");

            using (var serviceScope = host.Services.CreateScope())
            {
                var repo            = serviceScope.ServiceProvider.GetService <Repository>();
                var repoInitializer = new RepositoryInitializer(
                    repo, serviceScope.ServiceProvider.GetService <ILogger <RepositoryInitializer> >());

                try
                {
                    repoInitializer.Initialize();
                    repoInitializer.Seed();
                }
                catch (Exception ex)
                {
                    _logger.Error("初始化数据库失败:{0}:{1}", ex.GetType(), ex.Message);
                    throw;
                }
            }
        }