/// <summary> /// Регистрация репозиториев /// </summary> public void RegisterRepositories() { IoCContainer.RegisterSingleton <IAdministratorRepository, AdministratorRepository>(); IoCContainer.RegisterSingleton <IRegionRepository, RegionRepository>(); IoCContainer.RegisterSingleton <ICityRepository, CityRepository>(); IoCContainer.RegisterSingleton <IClientRepository, ClientRepository>(); IoCContainer.RegisterSingleton <IClientUserRepository, ClientUserRepository>(); IoCContainer.RegisterSingleton <IRateRepository, RateRepository>(); }
static void Main(string[] args) { try { IIoCContainer container = new IoCContainer(); container.RegisterSingleton <IRandomProvider, RandomProvider>(); container.RegisterSingleton <ILog, Log>(); container.Register <IRandomInstance, RandomInstance>(); for (int i = 0; i < 10; i++) { IRandomInstance instance = container.Resolve <IRandomInstance>(); instance.Print(); } } catch (ResolveException ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); }
public static void Initialise() { if (firstPass) { firstPass = false; IoCContainer.RegisterSingleton <ICommunity, Community>(); IoCContainer.RegisterSingleton <ICommunityViewModel, CommunityViewModel>(); IoCContainer.RegisterSingleton <DwellerStatisticsViewModel>(); IoCContainer.RegisterSingleton <ConsoleWindowViewModel>(); IoCContainer.RegisterSingleton <IDwellerCommandProcessor, DwellerCommandProcessor>(); IoCContainer.RegisterSingleton <IRandom, BasicRandomGenerator>(); IoCContainer.RegisterTransient <IDwellerViewModel, BasicDwellerViewModel>(); IoCContainer.RegisterTransient <IHome, BasicHome>(); IoCContainer.RegisterTransient <ICafe, BasicCafe>(); IoCContainer.RegisterTransient <IWorkplace, BasicWorkplace>(); //IoCContainer.RegisterTransient<IRoamingDweller, RoamingDweller>(); IoCContainer.RegisterTransient <IRoamingDweller, RoamingDweller>("Normal"); } }
/// <summary> /// Регистрация служб /// </summary> public void RegisterServices() { IoCContainer.RegisterSingleton <IAdministratorService, AdministratorService>(); IoCContainer.RegisterSingleton <IClientService, ClientService>(); IoCContainer.RegisterSingleton <IClientUserService, ClientUserService>(); }
/// <summary> /// Initializes the application. /// </summary> private void Initialize() { if (!IsInitialized) { lock (mutex) { if (!IsInitialized) { var catalog = new AggregateCatalog(); // Register IoC container if (Hooks.App.Init.CreateContainer != null) { IoCContainer = Hooks.App.Init.CreateContainer(); } else { IoCContainer = new IoC.TinyIoCContainer(); } // Register log provider if (Hooks.App.Init.RegisterLog != null) { Hooks.App.Init.RegisterLog(IoCContainer); } else { IoCContainer.RegisterSingleton <Log.ILogProvider, Log.LocalLogProvider>(); } // Regsiter cache provider if (Hooks.App.Init.RegisterCache != null) { Hooks.App.Init.RegisterCache(IoCContainer); } else { IoCContainer.RegisterSingleton <Cache.ICacheProvider, Cache.WebCacheProvider>(); } // Register media provider if (Hooks.App.Init.RegisterMedia != null) { Hooks.App.Init.RegisterMedia(IoCContainer); } else { IoCContainer.RegisterSingleton <IO.IMediaProvider, IO.LocalMediaProvider>(); } // Register media cache provider if (Hooks.App.Init.RegisterMediaCache != null) { Hooks.App.Init.RegisterMediaCache(IoCContainer); } else { IoCContainer.RegisterSingleton <IO.IMediaCacheProvider, IO.LocalMediaCacheProvider>(); } // Register user provider IoCContainer.RegisterSingleton <Security.IUserProvider, Security.LocalUserProvider>(); // Register additional types if (Hooks.App.Init.Register != null) { Hooks.App.Init.Register(IoCContainer); } // Compose parts if (HttpContext.Current != null) { catalog.Catalogs.Add(Config.DisableCatalogSearch ? new DirectoryCatalog("Bin", "Piranha*.dll") : new DirectoryCatalog("Bin")); } else { catalog.Catalogs.Add(Config.DisableCatalogSearch ? new DirectoryCatalog(AppDomain.CurrentDomain.BaseDirectory, "Piranha*.dll") : new DirectoryCatalog(AppDomain.CurrentDomain.BaseDirectory)); } Container = new CompositionContainer(catalog); Container.ComposeParts(this); // Register default handlers RegisterHandlers(); // Create the extension manager ExtensionManager = new Extend.ExtensionManager(); // Set application state IsInitialized = true; } } } }