У меня есть консольное приложение и веб-API, которые ссылаются на тот же слой данных, который является отдельным проектом.Как настроить контейнер Windor на консольном приложении для ввода внешней библиотеки
В этом слое данных у меня есть класс, для которого требуется репозиторий, который мы захватываем из контейнера при создании экземпляра этого класса.
В этом классе, он имеет базовый класс, который мы делаем следующие в конструкторе для настройки Repository:
IContainerAccessor containerAccessor = HttpContext.Current.ApplicationInstance as IContainerAccessor;
Repository = containerAccessor.Container.Resolve<IRepository>();
Что бы лучший способ установить это? Это, очевидно, проблема для нашего консольного приложения, поскольку он не имеет HttpContext.
одной из нескольких причин локатора службы считается анти- pattern: http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/ –
Почему вы не вводите 'IRepository' через конструктор вместо использования локатора сервисов (' IContainerAccessor')? –