Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.Net Identity AccountController中的2个构造函数_C#_Asp.net_Asp.net Mvc_Asp.net Identity - Fatal编程技术网

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

C# Asp.Net Identity AccountController中的2个构造函数,c#,asp.net,asp.net-mvc,asp.net-identity,C#,Asp.net,Asp.net Mvc,Asp.net Identity,在ASP.NET MVC 5的新项目模板中,有两个用于Account和Manage Controller的构造函数 public AccountController() { } public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager) { UserManager = userManager; Si

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

public AccountController()
    {
    }

public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
    {
        UserManager = userManager;
        SignInManager = signInManager;
    }
我正在初始化构造函数中的一些属性,一开始我不知道应该使用哪个属性。当逐步浏览代码时,我看到只有第一个默认构造函数被调用


我想知道第二个控制器是否只是依赖注入的占位符,我目前没有使用它。或者,当不使用DI时,Identity是否可以在后台调用它以用于其他目的?(我在浏览该框架的基础上得出结论,UserManager和SignInManager都是在启动时构建的,因此不需要在第二个构造函数中重新创建它们)。

第一个构造函数的存在是为了不让第二个构造函数覆盖它。我不确定第一个是否在内部使用Asp.Net标识,但他们肯定出于某些原因希望保留它,而不是让它被覆盖

第一个构造函数是为了不让第二个构造函数覆盖它。我不确定第一个是否在内部使用Asp.Net标识,但他们肯定出于某些原因希望保留它,而不是让它被覆盖

我只使用过第二个参数化控制器。我甚至不包括默认构造函数。是的,这些服务是在Startup.cs中注册的,并不是在这里创建的,它们只是在这里注入的。嗯,我还不确定。。事实上,我只是在玩它,看到“没有为这个对象定义无参数构造函数”。当我没有包含它时出现错误。这里是一个高度可信的源代码示例:我刚刚测试了它,或者,声明的两个或任何构造函数似乎工作完全相同。不知道为什么我之前会出现这个错误,无法复制它。我只是读了这篇有用的文章:。虽然我担心作者说“MVC如何决定使用哪个构造函数还不清楚…”。在实例化其他属性时,为了安全起见,在两个构造函数中都实例化可能是有益的。不合理,但我没有找到足够的文档来支持其他方面。我只使用过第二个参数化控制器。我甚至不包括默认构造函数。是的,这些服务是在Startup.cs中注册的,并不是在这里创建的,它们只是在这里注入的。嗯,我还不确定。。事实上,我只是在玩它,看到“没有为这个对象定义无参数构造函数”。当我没有包含它时出现错误。这里是一个高度可信的源代码示例:我刚刚测试了它,或者,声明的两个或任何构造函数似乎工作完全相同。不知道为什么我之前会出现这个错误,无法复制它。我只是读了这篇有用的文章:。虽然我担心作者说“MVC如何决定使用哪个构造函数还不清楚…”。在实例化其他属性时,为了安全起见,在两个构造函数中都实例化可能是有益的。不合理,但我没有找到足够的文档来支持其他方面。或者做DI。