SignInManager提供这两种方法,但与其他方法相比有哪些优势?在继续之前,您是否总是需要等待登录的结果?
答案 0 :(得分:1)
SignInManager.PasswordSignInAsync
和SignInManager.PasswordSignIn
正在做同样的事情。区别在于第一个遵循 TAP (Task based Asynchronous Pattern) 。
基于任务的异步模式(TAP)基于
System.Threading.Tasks.Task
命名空间中的System.Threading.Tasks.Task<TResult>
和System.Threading.Tasks
类型,用于表示任意异步操作。
SignInManager.PasswordSignInAsync
和SignInManager.PasswordSignIn
用于标记用户,他们需要访问您的数据库以检查该用户和给定的密码是否正确。您正在进行I / O操作,因为您的应用程序需要连接另一个外部资源,如磁盘或网络(如访问数据库)。
这是一个很好的做法,每个I / O操作都应使用 TAP ,这就是SignInManager.PasswordSignInAsync
方法的存在。你应该尽可能使用那种方法。如果您不能使用SignInManager.PasswordSignIn
。
因为你正在使用ASP.Net MVC所以我在这个answer中详细解释了为什么你应该更喜欢TAP。