私は、このコードがasp .net identityテンプレートからどのように実装されているのか混乱しています。Owin Context on Asp .Net Identity
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; }
}
なぜパラメータを持つAuthControllerがあるのでしょうか? Depedency Injectionの目的は?そして、注入が起こらない場合、Startup.csに指定されているowincontextと呼ばれますか?これは、私たちがowincontextを無視して、注射だけを使うことができるということですか?
私はこれがどのように動作しているのかをデバッグしようとしたとき、それはパラメータのないコンストラクタを介してのみで、私のコードが壊れます。このパラメータ化されたコンストラクタは使用されていませんか?
ありがとう。