2016-05-16 5 views
0

Как зарегистрировать это с помощью простого инжектора? В настоящее время я эта ошибка нижеКак зарегистрировать менеджер роли Identity Asp.net в простом инжекторе

Конструктор типа ApplicationRoleManager содержит параметр с именем «магазином» и типа 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

Вы должны прочитать [это] (https://simpleinjector.codeplex.com/discussions/564822) первый. –

+0

Обнаружил это некоторое время назад. – SlowNinja

ответ

0

Просто для записи, если кто-либо в случае имеют один и тот же вопрос, как и я, вот что я ве нашли, которые также могут быть найдены в here

container.Register<ApplicationRoleManager>(Lifestyle.Scoped); 

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