public virtual IBootManager Initialize() { if (_isInitialized) { throw new InvalidOperationException("The boot manager has already been initialized"); } LogHelper.Info <CoreBootManager>("Umbraco application starting"); _timer = DisposableTimer.Start(x => LogHelper.Info <CoreBootManager>("Umbraco application startup complete" + " (took " + x + "ms)")); //create the ApplicationContext ApplicationContext = ApplicationContext.Current = new ApplicationContext(); InitializeResolvers(); _isInitialized = true; return(this); }
public virtual IBootManager Initialize() { if (_isInitialized) { throw new InvalidOperationException("The boot manager has already been initialized"); } LogHelper.Info <CoreBootManager>("Umbraco application starting"); _timer = DisposableTimer.Start(x => LogHelper.Info <CoreBootManager>("Umbraco application startup complete" + " (took " + x + "ms)")); //create database and service contexts for the app context var dbFactory = new DefaultDatabaseFactory(GlobalSettings.UmbracoConnectionName); Database.Mapper = new PetaPocoMapper(); var dbContext = new DatabaseContext(dbFactory); var serviceContext = new ServiceContext( new PetaPocoUnitOfWorkProvider(dbFactory), new FileUnitOfWorkProvider(), new PublishingStrategy()); CreateApplicationContext(dbContext, serviceContext); InitializeApplicationEventsResolver(); InitializeResolvers(); //initialize the DatabaseContext dbContext.Initialize(); //now we need to call the initialize methods ApplicationEventsResolver.Current.ApplicationEventHandlers .ForEach(x => x.OnApplicationInitialized(UmbracoApplication, ApplicationContext)); _isInitialized = true; return(this); }