2016-11-19 11 views
-2

私はウィンザー城にこのプロパティを紹介しようとしています。Inject IDataProtectionProviderをCastle Windsorに変換するには?

public static IDataProtectionProvider DataProtectionProvider { get; set; } 

私は自分のキャラスの1つでこのプロパティを使用していたので、

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

私はThisでNinjectを使用したチュートリアルを見ました。

どのように城ウィンザーに書き換えますか?

答えて

0

私の回答が見つかりました。私はInitializea Interfaceと望ましいメソッドを持つべきです:

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

私はこれが他人を助けることを望みます。

関連する問題