SignInManager.PasswordSignInAsync vs SignInManager.PasswordSignIn

时间:2017-05-12 23:20:15

标签: asp.net asp.net-mvc

SignInManager提供这两种方法,但与其他方法相比有哪些优势?在继续之前,您是否总是需要等待登录的结果?

1 个答案:

答案 0 :(得分:1)

SignInManager.PasswordSignInAsyncSignInManager.PasswordSignIn正在做同样的事情。区别在于第一个遵循 TAP (Task based Asynchronous Pattern)

  

基于任务的异步模式(TAP)基于System.Threading.Tasks.Task命名空间中的System.Threading.Tasks.Task<TResult>System.Threading.Tasks类型,用于表示任意异步操作。

SignInManager.PasswordSignInAsyncSignInManager.PasswordSignIn用于标记用户,他们需要访问您的数据库以检查该用户和给定的密码是否正确。您正在进行I / O操作,因为您的应用程序需要连接另一个外部资源,如磁盘或网络(如访问数据库)。

这是一个很好的做法,每个I / O操作都应使用 TAP ,这就是SignInManager.PasswordSignInAsync方法的存在。你应该尽可能使用那种方法。如果您不能使用SignInManager.PasswordSignIn

因为你正在使用ASP.Net MVC所以我在这个answer中详细解释了为什么你应该更喜欢TAP。