Asp.Net Identity AccountController中的2个构造函数

时间:2017-08-15 19:53:17

标签: c# asp.net asp.net-mvc asp.net-identity

在ASP.NET MVC 5的新项目模板中,有两个用于Account和Manage控制器的构造函数。

public AccountController()
    {
    }

public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
    {
        UserManager = userManager;
        SignInManager = signInManager;
    }

我在构造函数中初始化了一些属性,并且我最初混淆了哪一个要使用。单步执行代码时,我看到只调用了第一个默认构造函数。

我想知道第二个控制器是否只是依赖注入的占位符,我目前没有使用它。或者,当不使用DI时,Identity是否可以在后台调用它以用于其他目的? (我基于完成框架计算,UserManager和SignInManager都已经在Startup中构建,因此不需要在第二个构造函数中重新创建它们。)

1 个答案:

答案 0 :(得分:0)

第一个构造函数不允许第二个构造函数覆盖它。我不确定第一个是否具有Asp.Net Identity的内部用途,但他们肯定是出于某种原因想要保留它,而不是让它被覆盖。