我最近去了asp.net核心,我开始使用 ConfigureServices 而不是Windsor。我有两个类 MockDbContext 和 ProductionDbContext ,它们都继承自 DbContext 类。如何在ConfigureServices中编写以下代码?
if (true) {
container.Register(Component.For<DbContext>().UsingFactoryMethod(() => MockDbContext.GetMockDbContext()).LifeStyle.HybridPerWebRequestTransient());
} else {
container.Register(Component.For<DbContext>().ImplementedBy<ProductionDbContext>().LifeStyle.HybridPerWebRequestTransient());
}
我尝试了几个选项而没有任何成功。看来我必须创建界面来区分这两个类。
答案 0 :(得分:0)
if (true)
{
services.AddSingleton((_) => MockDbContext.GetMockDbContext());
} else
{
services.AddScoped((_) => new ProductionDbContext());
}