Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Asp.net SignInManager.PasswordSignInAsync vs SignInManager.PasswordSignIn_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net SignInManager.PasswordSignInAsync vs SignInManager.PasswordSignIn

Asp.net SignInManager.PasswordSignInAsync vs SignInManager.PasswordSignIn,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,SignInManager提供这两种方法,但与其他方法相比有什么优势?您是否总是需要等待登录的结果,然后才能继续操作?SignInManager.PasswordSignInAsync和SignInManager.PasswordSignIn正在执行相同的操作。区别在于第一个紧跟在之后 基于任务的异步模式(TAP)基于System.Threading.Tasks.Task和System.Threading.Tasks.Task命名空间中的System.Threading.Tasks类型,用于表示

SignInManager提供这两种方法,但与其他方法相比有什么优势?您是否总是需要等待登录的结果,然后才能继续操作?

SignInManager.PasswordSignInAsync
SignInManager.PasswordSignIn
正在执行相同的操作。区别在于第一个紧跟在之后

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


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

每个I/O操作都应该使用TAP这是一个很好的实践,这就是为什么存在
SignInManager.PasswordSignInAsync
方法的原因。你应该尽可能地使用那种方法。如果不能,则使用
SignInManager.PasswordSignIn

因为您使用的是ASP.NETMVC,所以我将在本文中详细解释为什么您更喜欢TAP