如何在Simple Injector中注册Asp.net Identity Role Manager

时间:2016-05-16 14:56:10

标签: asp.net asp.net-identity-2 simple-injector

如何使用Simple Injector注册?目前我有以下错误

  

ApplicationRoleManager类型的构造函数包含参数   名称' store'并输入IRoleStore   未注册。请确保IRoleStore   注册,或更改ApplicationRoleManager的构造函数。

public class ApplicationRoleManager : RoleManager<IdentityRole>
    {

        public ApplicationRoleManager(IRoleStore<IdentityRole, string> store) : base(store)
        {
        }

        public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options,
            IOwinContext context)
        {
            var appRoleManager = new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>()));
            return appRoleManager;
        }
    }

在简单的注入器上我有以下代码,但仍然存在错误

container.RegisterPerWebRequest<RoleManager<IdentityRole,string>,ApplicationRoleManager>();

1 个答案:

答案 0 :(得分:0)

只是为了记录,如果有人遇到像我这样的问题, 这是我发现的,也可以在here

中找到
container.Register<ApplicationRoleManager>(Lifestyle.Scoped);

container.Register<IRoleStore<IdentityRole, string>, RoleStore<IdentityRole>>(
    Lifestyle.Scoped);