/// <inheritdoc /> protected override void OnStartup(StartupEventArgs e) { Log.System($"{nameof(App)} - {nameof(OnStartup)}.", LogLevel.Trace); try { AttachAllExceptionHandlers(); DependencyContainer.Configure(); ShutdownMode = ShutdownMode.OnMainWindowClose; ApplicationMutex = new Mutex(false, typeof(App).FullName, out var mutexCreated); if (!mutexCreated) { Log.Warn($"Application already running. Shutting down."); MessageBox.Show($"Application already running. Shutting down.", "Notice", MessageBoxButton.OK, MessageBoxImage.Exclamation); Current.Shutdown(0); } var runners = DependencyContainer.ServiceProvider.GetServices <IConfigurationRunner>(); foreach (var runner in runners) { Log.Debug($"Executing {nameof(IConfigurationRunner)} \"{runner.GetType().FullName}\"."); runner.Execute(); } var navigationService = DependencyContainer.ServiceProvider.GetService <INavigationService>(); navigationService.OpenWindowAsync(new DefaultWindowViewModel(new MainViewModel()), nameof(MainViewModel)); base.OnStartup(e); } catch (Exception exception) { Log.Error(exception); throw; } }
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) { try { DependencyContainer.Configure(Assembly.Load("TeaCommerce.Umbraco.Configuration")); } catch (Exception exp) { LogHelper.Error(GetType(), "Error loading Autofac modules", exp); } Domain.New += Domain_New; Domain.AfterSave += Domain_AfterSave; Domain.AfterDelete += Domain_AfterDelete; }
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext) { try { DependencyContainer.Configure( Assembly.Load("TeaCommerce.Umbraco.Configuration"), Assembly.Load("TeaCommerce.Umbraco.Install")); } catch (Exception exp) { LogHelper.Error <ApplicationStartup>("Error loading Autofac modules", exp); } //Run install/update on each application startup to support Umbraco Cloud and Nuget InstallationService.Instance.InstallOrUpdate(); Domain.New += Domain_New; Domain.AfterSave += Domain_AfterSave; Domain.AfterDelete += Domain_AfterDelete; UserService.SavedUser += UserService_SavedUser; }