using ClientsContracts.BusinessLogicContracts; using ClientsContracts.StorageContracts; using ClientsDatabaseImplement.Implements; using Unity; using Unity.Lifetime; namespace WinForms { internal static class Program { private static IUnityContainer container = null; public static IUnityContainer Container { get { if (container == null) { container = BuildUnityContainer(); } return container; } } /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(Container.Resolve()); } private static IUnityContainer BuildUnityContainer() { var currentContainer = new UnityContainer(); currentContainer.RegisterType(new HierarchicalLifetimeManager()); currentContainer.RegisterType(new HierarchicalLifetimeManager()); currentContainer.RegisterType(new HierarchicalLifetimeManager()); currentContainer.RegisterType(new HierarchicalLifetimeManager()); return currentContainer; } } }