Ninject在简单注入器中命名为作用域等效项

时间:2018-10-16 11:08:18

标签: c# .net dependency-injection ninject simple-injector

我们在Ninject中使用了具有不同自定义命名范围的层次结构 应用。但是一段时间以来,我们一直在使用此框架的性能问题,并想用简单的注射器替换它。不幸的是,我在简单的进样器中找不到自定义示波器支持。

例如,我们以如下方式组成范围:

Bind<ITest>().To<Test>().InNamedScope(InjectionScope.CustomScope.ToString());

并且范围被定义为例如

Bind<ILeftCustomScope>().To<LeftCustomScope>()
    .DefinesNamedScope(InjectionScope.CustomScope);
Bind<IRightCustomScope>().To<RightCustomScope>()
    .DefinesNamedScope(InjectionScope.CustomScope);

然后在代码中的其他地方:

public CustomScopeBuilder(
    IFactory<ILeftCustomScope> left_factory, 
    IFactory<IRightCustomScope> right_factory)
{
    _left_factory = left_factory;
    _right_factory = right_factory;
}

private ICustomScope MakeLeftScope()
{
    return _left_factory.Create();
}

private ICustomScope MakeRightScope()
{
    return _right_factory.Create();
}

0 个答案:

没有答案