我曾经在 Ninject 中做过这样的事情:
kernel.Bind<IDatabase>().ToMethod(context =>
RedisConnectionFactory.GetConnection().GetDatabase(
int.Parse(ConfigurationManager.AppSettings["RedisConnectionIdsDatabase"])));
将接口 IDatabase
绑定到方法。现在,我已切换到 dotnet核心,并且我想知道 dotnet核心依赖注入程序能够做到这一点吗?
答案 0 :(得分:2)
您可以这样
services.AddTransient<IDatabase>((sp) =>
{
return RedisConnectionFactory
.GetConnection().GetDatabase(int.Parse(ConfigurationManager.AppSettings["RedisConnectionIdsDatabase"]));
});
答案 1 :(得分:-1)
不,不是。内置的DI容器非常基础,但是只要它公开IServiceProvider接口,它就可以使用任何您想要的东西。