2016-11-19 3 views
-2

Ich werde diese Eigenschaft Burg Windsor vorstellen.Wie Inject IDataProtectionProvider zu Castle Windsor konvertieren?

public static IDataProtectionProvider DataProtectionProvider { get; set; } 

Weil ich diese Eigenschaft in einer meiner Calasses verwendet habe.

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")); 
     } 
    } 

sah ich ein Tutorial, das Ninject in This verwendet wurde.

Wie man es in Schloss Windsor umschreiben?

Antwort

0

Ich habe meine Antwort gefunden. Ich sollte Initialisieren Schnittstelle mit gewünschten Methode:

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

Ich hoffe, das hilft anderen.

Verwandte Themen