我正在努力学习MVC5的细节,但我遇到了令我困惑的事情。在默认情况下带有Individual Auth的MVC5项目的accountController中,异步登录和注册方法中有这行代码
var result = await UserManager.CreateAsync(user, model.Password);
我在这里阅读http://msdn.microsoft.com/en-us/library/hh191443.aspx这是一种常规做法,但我不明白为什么你会使用异步方法并等待同一行。仅使用在此处采用相同参数的.Create方法会不会更有意义吗?
答案 0 :(得分:2)
SomeMethod()
和await SomeMethodAsync()
之间的区别在于后者在方法执行IO时不会阻塞线程。因此,应用程序变得更具可伸缩性,因为它可以使用较少数量的线程来提供相同数量的请求。
如果您不关心可扩展性,那么您要选择哪两个选项并不重要。但是,使用异步版本可能会更好,以便为您的应用程序提供面向未来的功能,以便在可伸缩性成为问题时您的应用程序运行良好。