什么是使用Ninject这个例子中,asp.net核心DI框架等效代码?(What is the e

2019-09-26 17:22发布

我一直在寻找使用asp.net核心的Web应用程序内的EF核心CQS模式。

我发现这个样本,这似乎是不过我想要使用的DI容器是Ninject。

我似乎无法能够在Ninject配置转化为asp.net核心内置的DI容器。

具体来说我的问题是这些线路:

Bind<IQueryFactory>().ToMethod(t => new QueryFactory(x => Container.Current.Resolve(x))).InTransientScope();
            Bind<ICommandsFactory>()
                .ToMethod(t => new CommandFactory(x => (object[]) Container.Current.ResolveAll(x)))
                .InTransientScope();

到目前为止,我已经得到了这一点:

services.AddTransient<IQueryFactory>(qf => new QueryFactory(q => q));

但我不知道如何真正做到这部分在asp.net核心DI容器:

Container.Current.Resolve(x)

Answer 1:

这似乎是我得太多它,我已经解决了我的问题。

services.AddTransient<IQueryFactory>
    (serviceProvider => new QueryFactory(serviceProvider.GetService));


文章来源: What is the equivalent code for the asp.net core DI framework from this example using Ninject?