我创建了一个带有用户身份的asp.net核心rc2 Web应用程序,但是我很困惑帐户控制器类如何获取它的参数,usermanager,signinmanager?他们从哪里传来?我按照调用堆栈获取外部代码,外部代码在这些对象中传递了什么?帮助我理解这两个对象是如何被初始化的。
答案 0 :(得分:3)
在Startup.cs
中,您会看到对此方法的调用
services.AddIdentity<ApplicationUser, IdentityRole>()
在阅读@AndrésRobinet建议的依赖注入链接后,您实际上可以看到服务的连接位置。
此扩展方法位于`IdentityServiceCollectionExtensions - 然后您可以查看此方法调用的源代码(.NET核心位于github上):
AddIdentity
方法的第67行
services.TryAddScoped<SignInManager<TUser>, SignInManager<TUser>>();
在这些对象中传递了哪些外部代码?
右键单击外部代码并单击Show External Code
- 现在您可以了解幕后发生的情况。包含Kestrel webserver的代码也可以在github上浏览/下载
图片截断