0
我試圖弄清楚如何執行以下操作,但有點問題。我很抱歉,如果以下看起來很愚蠢,對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) { }
...
}
所有的配置設置是強類型的,到目前爲止,我呼籲設置服務安裝之前,我叫上安裝的其餘部分。
我的問題是:我是否需要註冊服務和Respositories,或者有什麼遺失的東西?
我想,我們可以允許從服務訪問DbHost屬性,但我寧願不。 我們也有供應商可能需要某種初始化的外部系統。
到目前爲止,我已經soemthing這樣的:
public class ServicesInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<IUserService>()
.ImplementedBy<IUserService>()
.LifeStyle.Singleton);
}
}
鉭
這就是我到目前爲止,問題是我註冊我的倉庫在安裝程序中,或者我將DbHost屬性從服務傳遞到存儲庫。請記住,我不使用上下文或UnitOfWork或類似的。所以本質上我需要用合適的字符串來初始化存儲庫。 – ErMasca
最好註冊它並使用DI使其可測試,而不是從服務傳遞具體上下文。 –