gpt4 book ai didi

c# - 用简单的注入(inject)器替换 Ninject

转载 作者:太空狗 更新时间:2023-10-29 22:23:31 26 4
gpt4 key购买 nike

我在我的应用程序中使用了 Ninject。 Ninject 非常简单易学,但速度很慢,我尝试使用另一个 IoC 来比较它是否像 Ninject 一样快。

MVC3 有很多 IoC 容器,Simple Injector 对我来说看起来非常好,但是用 Simple Injector 替换 Ninject 时我遇到了很多问题。 .

尤其是 AutoMapper。我尝试将这些行转换为简单注入(inject)器代码。

Bind<ITypeMapFactory>().To<TypeMapFactory>();

foreach (var mapper in MapperRegistry.AllMappers())
{
Bind<IObjectMapper>().ToConstant(mapper);
}

Bind<ConfigurationStore>().ToSelf().InSingletonScope()
.WithConstructorArgument("mappers",
ctx => ctx.Kernel.GetAll<IObjectMapper>());

Bind<IConfiguration>()
.ToMethod(ctx => ctx.Kernel.Get<ConfigurationStore>());

Bind<IConfigurationProvider>().ToMethod(ctx =>
ctx.Kernel.Get<ConfigurationStore>());

Bind<IMappingEngine>().To<MappingEngine>()

你能帮我吗?我已经阅读了文档并进行了谷歌搜索,但目前还没有解决方案。

最佳答案

这个 Ninject 注册大致转换为以下 Simple Injector 注册:

container.Register<ITypeMapFactory, TypeMapFactory>();
container.RegisterCollection<IObjectMapper>(MapperRegistry.AllMappers());
container.RegisterSingleton<IConfiguration, ConfigurationStore>();
container.RegisterSingleton<IConfigurationProvider, ConfigurationStore>();
container.Register<IMappingEngine, MappingEngine>();

关于c# - 用简单的注入(inject)器替换 Ninject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com