在ASP.NET MVC 5的新项目模板中,有两个用于Account和Manage控制器的构造函数。
public AccountController()
{
}
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
UserManager = userManager;
SignInManager = signInManager;
}
我在构造函数中初始化了一些属性,并且我最初混淆了哪一个要使用。单步执行代码时,我看到只调用了第一个默认构造函数。
我想知道第二个控制器是否只是依赖注入的占位符,我目前没有使用它。或者,当不使用DI时,Identity是否可以在后台调用它以用于其他目的? (我基于完成框架计算,UserManager和SignInManager都已经在Startup中构建,因此不需要在第二个构造函数中重新创建它们。)
答案 0 :(得分:0)
第一个构造函数不允许第二个构造函数覆盖它。我不确定第一个是否具有Asp.Net Identity的内部用途,但他们肯定是出于某种原因想要保留它,而不是让它被覆盖。