0
在用於ASP.NET MVC 5的新項目模板中,有2個用於Account和Manage控制器的構造函數。Asp.Net中的2個構造函數Identity AccountController
public AccountController()
{
}
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
UserManager = userManager;
SignInManager = signInManager;
}
我正在初始化構造函數中的一些屬性,我最初混淆了使用哪一個。在遍歷代碼時,我看到只有第一個默認的構造函數被調用過。
我想知道第二個控制器是否只是依賴注入的佔位符,目前我沒有使用它。或者在不使用DI的情況下,Identity可以在後臺爲其他目的調用它? (我是基於通過框架來計算的,UserManager和SignInManager已經在Startup中構建,所以不需要在第二個構造函數中重新創建它們)。
我只有用不完第二,參數化,控制器。我甚至不包括默認的構造函數。是的,這些服務在Startup.cs中註冊並且不在這裏創建,它們僅在此處注入。 – nurdyguy
嗯,我還沒有說服..其實我只是在玩它,看到「沒有無參數的構造函數定義爲這個對象。」錯誤,當我沒有包括它。 – Turo
這是一個非常值得信賴的來源例如:https://github.com/IdentityServer/IdentityServer4.Quickstart.UI/blob/release/Quickstart/Account/AccountController.cs – nurdyguy