2016-11-19 5 views
-2

Я собираюсь представить это свойство замку Виндзор.Как преобразовать Inject IDataProtectionProvider в замок Виндзор?

public static IDataProtectionProvider DataProtectionProvider { get; set; } 

Потому что я использовал это свойство в одном из моих calasses.

private UserManagementContext _dbContext; 
    private readonly IDataProtectionProvider _provider; 
    private UserManager<IdentityUser> userManager; 
    private RoleManager<IdentityRole> roleManager; 

    public AuthenticationService(UserManagementContext dbContext,IDataProtectionProvider provider) 
    { 
     _dbContext = dbContext; 
     _provider = provider; 
     userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(_dbContext)); 
     roleManager=new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(_dbContext)); 


     if (provider != null) 
     { 
      userManager.UserTokenProvider = 
       new DataProtectorTokenProvider<IdentityUser>(provider.Create("ASP.NET Identity")); 
     } 
    } 

Я видел учебник, который был использован в Ninject This.

Как переписать его в замок Виндзор?

ответ

0

Я нашел свой ответ. Я должен использовать интерфейс Initialization с желаемым методом:

container.Register(Component.For<IDataProtectionProvider>().ImplementedBy<DpapiDataProtectionProvider>() 
      .UsingFactoryMethod(x => app.GetDataProtectionProvider())); 

Я надеюсь, что это поможет другим.

 Смежные вопросы

  • Нет связанных вопросов^_^