У меня небольшая проблема, пытаясь понять, как сделать следующее. Приношу свои извинения, если следующее кажется идиотским, просто новичок в Castle.Windsor.
Правильно, в моем приложении репозитории должны указывать на разные dbs. Все они разделяют абстрактный класс (абстракция методов Db), но между ними нет корреляции.
Итак, у меня есть что-то вроде этого:
public class UserService : IUserService
{
private readonly IUserRepository _repository;
public UserService(IUserRepository repository) { _repository = repository; }
...
}
public class UserRepository : Mongo, IUserRepository
{
public UserRepository(DatabaseHosts.Users UsersHost) : base(UsersHost) { }
...
}
Все параметры конфигурации строго типизированы, и до сих пор я звоню установщику для службы настроек, прежде чем я позвоню Установить на остальных.
У меня такой вопрос: нужно ли регистрировать службы и репозитории или что-то пропущено?
Я думаю, мы могли бы разрешить доступ к свойству DbHost из Сервиса, но мне скорее не нравится.
У нас также есть поставщики для внешних систем, которые могут нуждаться в некоторой инициализации.
Пока у меня есть что-то вроде этого:
public class ServicesInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<IUserService>()
.ImplementedBy<IUserService>()
.LifeStyle.Singleton);
}
}
Та