此示例中使用 Ninject 的 asp.net 核心 DI 框架的等效代码是什么?
What is the equivalent code for the asp.net core DI framework from this example using Ninject?
我一直在考虑在 asp.net Core Web 应用程序中使用 CQS 模式和 EF Core。
我找到了这个示例,这似乎是我想要的但是使用的 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)
看来是我想多了,我已经解决了我的问题。
services.AddTransient<IQueryFactory>
(serviceProvider => new QueryFactory(serviceProvider.GetService));
我一直在考虑在 asp.net Core Web 应用程序中使用 CQS 模式和 EF Core。
我找到了这个示例,这似乎是我想要的但是使用的 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)
看来是我想多了,我已经解决了我的问题。
services.AddTransient<IQueryFactory>
(serviceProvider => new QueryFactory(serviceProvider.GetService));