static void Main(string[] args) { WindsorWrapper.Init(); Mapper.Initialize(cfg => cfg.CreateMap <Advert, AdvertDto>()); PrintAllAdverts(); Console.ReadLine(); }
static void Main(string[] args) { WindsorWrapper.Init(); MapperConfigurator.Configure(); var container = WindsorWrapper.Container; using (WindsorWrapper.Container.BeginScope()) { var service = container.Resolve <IAdvertService>(); var allAdverts = service.GetAllAdverts(); foreach (var advert in allAdverts) { Console.WriteLine($"{advert.Title, 30} | { advert.Cities.FirstOrDefault()?.Name, 15 } |" + $" {advert.Price} {(advert.Price.HasValue ? "руб." : string.Empty)}"); } } Console.ReadLine(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorWebApiControllerActivator(WindsorWrapper.Container)); //Инициализация IOC с прокидыванием туда инсталлера контроллера. Этот IOC собирает в себе все сущности приложения WindsorWrapper.Init(new ControllerInstaller(Assembly.GetExecutingAssembly())); //Чтобы сделать IOC доступным в любой точке приложения, передаем его общедоступной сущности CommonContainer CommonContainer.CommonContainer.Initialize(WindsorWrapper.Container); MapperConfigurator.Configure(); //Создание фабрики Windsor, позволяющей делать внедрение зависимостей через конструктор WindsorControllerFactory controllerFactory = new WindsorControllerFactory(WindsorWrapper.Container.Kernel); //замена дефолтной фабрики контроллеров на фабрику Windsor ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
public ResourceHelper() { IInjectionWrapper ioc = new WindsorWrapper(); _resources = ioc.Reslove <IResourceService>(); }