internal static void Reset() { ContainerLocator.ResetContainer(); GC.Collect(int.MaxValue, GCCollectionMode.Forced); GC.WaitForFullGCComplete(); }
public PrismBootstapperSetup() { ContainerLocator.ResetContainer(); Bootstrapper = new PrismBootstrapper(); Bootstrapper.Run(); }
protected FixtureBase(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; ContainerLocator.ResetContainer(); Xamarin.Forms.Mocks.MockForms.Init(); }
public void Dispose() { ContainerLocator.ResetContainer(); }
/// <summary> /// Runs the initialization sequence to configure the Prism application. /// </summary> public virtual void Initialize() { ContainerLocator.SetContainerExtension(CreateContainerExtension); _containerExtension = ContainerLocator.Current; _moduleCatalog = CreateModuleCatalog(); RegisterRequiredTypes(_containerExtension); RegisterTypes(_containerExtension); _containerExtension.FinalizeExtension(); ConfigureModuleCatalog(_moduleCatalog); var regionAdapterMappings = _containerExtension.Resolve <RegionAdapterMappings>(); ConfigureRegionAdapterMappings(regionAdapterMappings); var defaultRegionBehaviors = _containerExtension.Resolve <IRegionBehaviorFactory>(); ConfigureDefaultRegionBehaviors(defaultRegionBehaviors); RegisterFrameworkExceptionTypes(); var shell = CreateShell(); if (shell != null) { MvvmHelpers.AutowireViewModel(shell); InitializeShell(shell); void FinalizeInitialization() { RegionManager.SetRegionManager(shell, _containerExtension.Resolve <IRegionManager>()); RegionManager.UpdateRegions(); InitializeModules(); OnInitialized(); } if (shell is FrameworkElement fe) { void OnLoaded(object sender, object args) { FinalizeInitialization(); fe.Loaded -= OnLoaded; } #if HAS_UNO // Uno currently loads items earlier than UWP, so we can check // for the IsLoaded property. UWP got that property in SDK 17763, // meaning that the condition can be removed once the SDK is updated // in Prism.Uno. if (fe.IsLoaded) { FinalizeInitialization(); } else #endif { // We need to delay the initialization after the shell has been loaded, otherwise // the visual tree is not materialized for the RegionManager to be available. // See https://github.com/PrismLibrary/Prism/issues/2102 for more details. fe.Loaded += OnLoaded; } } else { FinalizeInitialization(); } } }
public MockedContainerBootstrapper(IUnityContainer container) { ContainerLocator.ResetContainer(); this.container = container; }
private void Dispose(bool disposing) { _disposed = true; ContainerLocator.ResetContainer(); }
public ContainerProviderExtensionFixture() { ContainerLocator.ResetContainer(); ContainerLocator.SetContainerExtension(() => _containerExtension); }
public void Dispose() { ContainerLocator.ResetContainer(); Application.Shutdown(); }
public PrismApplicationSetup() { ContainerLocator.ResetContainer(); Application = new PrismApplication(); Application.CallOnStartup(); }
/// <summary> /// Run the bootstrapper process. /// </summary> /// <param name="runWithDefaultConfiguration">If <see langword="true"/>, registers default Prism Library services in the container. This is the default behavior.</param> public override void Run(bool runWithDefaultConfiguration) { _useDefaultConfiguration = runWithDefaultConfiguration; Logger = CreateLogger(); if (Logger == null) { throw new InvalidOperationException(Resources.NullLoggerFacadeException); } Logger.Log(Resources.LoggerCreatedSuccessfully, Category.Debug, Priority.Low); Logger.Log(Resources.CreatingModuleCatalog, Category.Debug, Priority.Low); ModuleCatalog = CreateModuleCatalog(); if (ModuleCatalog == null) { throw new InvalidOperationException(Resources.NullModuleCatalogException); } Logger.Log(Resources.ConfiguringModuleCatalog, Category.Debug, Priority.Low); ConfigureModuleCatalog(); Logger.Log(Resources.CreatingContainer, Category.Debug, Priority.Low); Container = CreateContainer(); if (Container == null) { throw new InvalidOperationException(Resources.NullDryIocContainerException); } ContainerLocator.SetContainerExtension(CreateContainerExtension); ContainerExtension = ContainerLocator.Current; Logger.Log(Resources.ConfiguringContainer, Category.Debug, Priority.Low); ConfigureContainer(); Logger.Log(Resources.ConfiguringViewModelLocator, Category.Debug, Priority.Low); ConfigureViewModelLocator(); Logger.Log(Resources.ConfiguringRegionAdapters, Category.Debug, Priority.Low); ConfigureRegionAdapterMappings(); Logger.Log(Resources.ConfiguringDefaultRegionBehaviors, Category.Debug, Priority.Low); ConfigureDefaultRegionBehaviors(); Logger.Log(Resources.RegisteringFrameworkExceptionTypes, Category.Debug, Priority.Low); RegisterFrameworkExceptionTypes(); Logger.Log(Resources.CreatingShell, Category.Debug, Priority.Low); Shell = CreateShell(); if (Shell != null) { Logger.Log(Resources.SettingTheRegionManager, Category.Debug, Priority.Low); RegionManager.SetRegionManager(Shell, Container.Resolve <IRegionManager>()); Logger.Log(Resources.UpdatingRegions, Category.Debug, Priority.Low); RegionManager.UpdateRegions(); Logger.Log(Resources.InitializingShell, Category.Debug, Priority.Low); InitializeShell(); } if (Container.IsRegistered <IModuleManager>()) { Logger.Log(Resources.InitializingModules, Category.Debug, Priority.Low); InitializeModules(); } Logger.Log(Resources.BootstrapperSequenceCompleted, Category.Debug, Priority.Low); }
public IShinyStartup WithContainer(IContainerExtension container) { ContainerLocator.SetContainerExtension(() => container); return(this); }
internal static void Reset() { ContainerLocator.ResetContainer(); GC.Collect(); }