Je veux injecter AuthenticationService sans utiliser nouvelle:Puis-je injecter IKernel en classe avec Ninject
IAuthenticationService authenticationService = null;
if (HttpContext.Current != null && HttpContext.Current.Session["LoggedUser"] == null)
{
HttpContext.Current.Session["LoggedUser"] = new AuthenticationService();
}
authenticationService = (AuthenticationService)HttpContext.Current.Session["LoggedUser"];
Je pensais à l'aide kernel.Get(), mais je ne sais pas si c'est une bonne pratique d'injecter IKernel. Je pensais aussi à utiliser une usine, mais je ne sais pas comment l'utiliser avec Ninject.
Que me conseillez-vous?
Merci pour la réponse! Je prévois d'injecter WhateverClass InSingletonScope et je voudrais avoir une nouvelle instance de AuthenticationService à chaque fois. – totkov
Cela devrait toujours fonctionner pour vous - Votre liaison pour 'WhateverClass' ressemblera à' kernel.Bind() .à (). InSingletonScope(); 'ou si vous n'avez pas d'interface pour cela:' kernel.Bind (). ToSelf(). InSingletonScope() ' –
GregH
@totkov si cela répond à votre question, veuillez accepter la réponse. Si ce n'est pas le cas, je serais heureux d'élaborer sur ce que vous luttez avec. – GregH