J'ai ajouté l'implémentation personnalisée de UserStore. Pour le constructeur de magasin d'utilisateur injecter UserRepository comment puis-je enregistrer ce avec simple, contenant de l'injecteurInjecter l'implémentation personnalisée pour Identity UserStore
mon code comme
public class UserStore : IUserStore<User>, IUserLoginStore<User>, IUserPasswordStore<User>,
IUserSecurityStampStore<User>, IUserEmailStore<User>
{
private readonly IRepository<User> _userRepository;
public UserStore(IRepository<User> userRepository)
{
_userRepository = userRepository;
}
//other implementations
}
ma UserManager Classe
public class UserStoreManager<T> : UserManager<User> where T : class
{
public UserStoreManager(IUserStore<User> store) : base(store)
{
}
}
Mise à jour
i ont essayé ceci en s'enregistrant comme ceci
container.Register<IUserStore<User>, UserStore>(Lifestyle.Scoped);
container.Register<UserManager<User>, UserStoreManager<User>>(Lifestyle.Scoped);
puis je me suis une exception
Je n'ai aucune idée de comment inscrire IUserStore au conteneur j'ai essayé avec ce 'container.Register> (() => nouveau UserStore(), Lifestyle.Scoped);' mais le constructeur par défaut doit être initialisé avec IRepository type –
Gayan
pouvez-vous pas enregistrer le type avec le simple injecteur, au lieu d'ajouter un initialiseur (et si vous devez ajouter le lambda pour l'initialisation, pouvez-vous pas faire container.Resolve>() pour l'utiliser comme paramètre? –
Icepickle
@Icepickle je ne suis pas sûr que je vous ai bien compris pourriez-vous s'il vous plaît ajouter un échantillon de code? – Gayan