Ich habe verwirrt, wie dieser Code von ASP. NET Identität Vorlage implementiert wird.Owin Kontext auf Asp. Net Identität
private ApplicationSignInManager _signInManager;
private ApplicationUserManager _userManager;
private ApplicationRoleManager _roleManager;
public AuthController() { }
public AuthController(ApplicationUserManager userManager, ApplicationSignInManager signInManager, ApplicationRoleManager roleManager)
{
UserManager = userManager;
SignInManager = signInManager;
RoleManager = roleManager;
}
public ApplicationRoleManager RoleManager
{
get { return _roleManager ?? HttpContext.GetOwinContext().Get<ApplicationRoleManager>(); }
private set { _roleManager = value; }
}
public ApplicationSignInManager SignInManager
{
get { return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>(); }
private set { _signInManager = value; }
}
public ApplicationUserManager UserManager
{
get { return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); }
private set { _userManager = value; }
}
Warum haben wir den AuthController mit Parameter? Dependency Injektionszweck? Und wenn keine Einspritzung geschieht, dann rief der owincontext, der auf Startup.cs spezifiziert wird? Können wir den owincontext ignorieren und nur die Injektion verwenden?
Und wenn ich versuchte zu debuggen, wie das läuft, ist es nur durch den parameterlosen Konstruktor und es bricht meinen Code. Wird dieser parametrisierte Konstruktor nicht verwendet?
Irgendeine Idee? Vielen Dank.