3

我在我的自定义角色提供程序中使用属性注入,如下所示:

public class MyRoleProvider : RoleProvider
{
    [Inject]
    public IRoleRepository RoleRepository { get; set; }
    ...
}

我的忍者模块:

public class MyNinjectModule : NinjectModule
{
    public override void Load()
    {
        Bind<IRoleRepository>().To<RoleRepository>();
    }
}

但是当我尝试使用 MyRoleProvider 中的 RoleRepository 属性时,它始终为空。为什么 ninject 不将 RoleRepository 实例注入到属性中?

4

1 回答 1

0

尝试进行构造函数注入,看看是否有同样的问题。有时属性注入没有及时发生以使用注入的对象。

public class MyRoleProvider:RoleProvider
{
    public MyRoleProvider(IRoleRepository repository)
    {
        //set class level var or property to repository
    }
    ...
}
于 2013-04-02T17:19:10.477 回答