【问题标题】:Ninject bind any object of type T in request scopeNinject 在请求范围内绑定任何类型为 T 的对象
【发布时间】:2014-02-19 12:54:17
【问题描述】:

我有一个抽象类RequestScopeContainer,它充当当前请求的临时数据持有者。

public abstract class RequestScopeContainer
{

}

是否可以告诉Ninject 绑定任何实现抽象RequestScopeContainer 类的类以将生命周期作为请求范围?

【问题讨论】:

  • 如何注册那些“实现抽象RequestScopeContainer的类”?
  • 你的意思是Ninject?我正在寻找这样的东西:kernel.Bind<RequestScopeContainer>().InRequestScope();,但我需要指定一个实现抽象 RequestScopeContainer 的类。

标签: asp.net-mvc ninject ninject.web.mvc


【解决方案1】:

当然,使用 ninject 约定扩展: https://github.com/ninject/ninject.extensions.conventions

IBindingRoot.Bind(x => x
    .FromThisAssembly()
    .IncludingNonePublicTypes()
    .SelectAllClasses()
    .InheritedFrom<AbstractRequestScopeContainer>()
    .BindToSelf()
    .Configure(x => x.InRequestScope()));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多