了解异步和等待

2023-12-08

我正在尝试学习 MVC5 的细节,但遇到了一些让我困惑的事情。在默认情况下带有个人身份验证的 MVC5 项目的 accountController 中,异步登录和注册方法中有这行代码

var result = await UserManager.CreateAsync(user, model.Password);

我在这里读到http://msdn.microsoft.com/en-us/library/hh191443.aspx这是一种正常的做法,但我不明白为什么你会在同一行中使用异步方法和等待。在这里使用采用相同参数的 .Create 方法不是更有意义吗?


和...之间的不同SomeMethod() and await SomeMethodAsync()是后者在方法执行 IO 时不会阻塞线程。因此,应用程序变得更具可扩展性,因为它可以使用更少数量的线程来服务相同数量的请求。

如果您不关心可扩展性,那么选择这两个选项中的哪一个并不重要。但最好使用异步版本,以保证您的应用程序面向未来,以便在可扩展性成为问题时您的应用程序表现良好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解异步和等待 的相关文章

随机推荐

  • 继承依赖注入

    我想创建一个通用的 api 服务 以便更容易创建模型相关的服务 export abstract class ModelService
  • 在 Windows 上安装 Imagick for PHP 和 Apache

    到目前为止我已采取的步骤 我已经在我的Win7机器上安装了Imagick 并且它通过命令行安装并正常运行 我已经提取了 php imagick 3 1 2 5 6 ts vc11 x86 zip 的内容here进入我的 PHP ext 目录
  • 路由事件和依赖属性 .NET 包装器混淆

    我是 WPF 新手 对路由事件和依赖属性的包装语法感到困惑 我在许多来源上看到路由事件和依赖属性是这样包装的 Routed Event public event RoutedEventHandler Click add base AddHa
  • ElasticSearch 的 MasterService 计算集群状态花费的时间太长并抛出 ProcessClusterEventTimeoutException

    我们有一个每秒向 ES 集群添加数千个文档的应用程序 每次我们滚动正在写入的索引并开始写入新索引时 我们都会收到以下错误 这些错误不允许在大约 1 分钟内摄取文档 1 分钟后 一切都会恢复正常 直到我们再次滚动索引 WARN o e c s
  • 如何在流式查询中执行动态SQL?

    我正在使用 Spark 结构化流 并处理来自 Kafka 的消息 在某一时刻 我的结果表如下所示 其中数据集中的每一行都有一个 Spark SQL 查询 code triggerSql US SELECT FROM def UK SELEC
  • 如何/声明 google-play-services-component 时出错

    我正在使用 eclipse Java ADT 包 我正在尝试让 google 地图 api 正常工作 文档中引用的启动和运行 google 地图的方法是 设置 Google Play SDK gt 引用 eclipse 的库项目 http
  • 失败:元数据错误:java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    当 HDFS 和 hive 实例运行时 我关闭了 HDFS 客户端 现在 当我重新登录 Hive 时 我无法执行任何 DDL 任务 例如 显示表 或 描述表名 等 它给了我如下错误 ERROR exec Task SessionState
  • 如何查询嵌套对象?

    我在使用嵌套对象表示法查询 mongoDB 时遇到问题 db messages find headers From email protected count 0 db messages find headers From email pr
  • 如何在 XMPP iOS 中获取消息已发送、已看到、失败和未读消息计数? (斯威夫特3.0)

    我正在开发聊天应用程序 因为我陷入了两种情况 1 如何获取消息状态 如已发送 已查看等 我做了以下事情 self xmppMessageDeliveryRecipts XMPPMessageDeliveryReceipts dispatch
  • 为什么这里会发生CMS(并发模式失败)?

    Operation System Red Hat Linux 4 8 CPU Info Intel R Xeon R CPU 5160 3 00GHz X 16 JDK version 1 5 0 16 JVM Parameter serv
  • Jquery 日期选择器 Chrome

    在使用 jQuery UI Datepicker 时 我们在 Google Chrome 中使用时遇到一个问题 当我们输入大于 12 的日期时 它不接受它作为有效日期 这是因为 chrome 认为日期格式是 mm dd yyyy 我们尝试通
  • 指针 - 减少内存消耗

    我一直在为 OpenGL 练习编写 Minecraft 复制品 我猜有很多 但是在编写了基本渲染 API 后 我注意到真正的 Minecraft 使用了lot或内存 大约 800MB 我完全理解为什么它必须记住所有块以及小怪以及生成器的地形
  • AS3 中的安全沙箱

    什么是安全沙箱违规 如何覆盖它 我正在 FlashDevelop 中制作一个项目 今天 它不会加载外部文件 即使以前加载过 它给出以下输出 安全沙箱违规 连接到 文件 C Documents 20and 20Settings Kevin P
  • 从浏览器控制台删除错误消息 (Angular HttpClient)

    HttpClient 有没有办法从浏览器控制台中删除错误消息 我当前的代码如下所示 getStuff stuffId string Observable
  • 如何从 UIPickerview 中删除选择行

    嗨我正在使用picker view 默认情况下选择第一行 我不想要这个选项 例如 我有 否 和 是 选项 如果我在pickerview中给出此选项 否 将在pickerview中被选择 附上屏幕截图 我不需要这个 我需要第一行为空 一旦用户
  • 如何从 Postman Rest 客户端发送 spring csrf 令牌?

    I have CSRF保护在Spring框架中 因此 在每个请求中 我从 ajax 调用的标头中发送 csrf 令牌 这是完美的工作 var token meta name csrf attr content var header meta
  • Android初学者padding和margin的区别[重复]

    这个问题在这里已经有答案了 我已经提出了有关SO的问题 还检查了一个答案 填充是边框内部 边框与实际视图内容之间的空间 请注意 填充完全围绕内容 顶部 底部 右侧和左侧都有填充 可以是独立的 边距是边框外部 边框与该视图旁边的其他元素之间的
  • Xcode 中的 Target 到底是什么?

    我一直想知道这些目标是怎么回事 这是什么一回事呢 那有什么意义呢 我从来不需要摆弄它们 但显然我可以 我为什么要这样 我能用它们做什么 他们的目的是什么 每个项目都可以构建多个可执行文件或库 或者调用 makefile 或 shell 脚本
  • C++11 中的逗号运算符(排序)

    标准中提到f a t 3 t 2 c 根据我的理解 这将是一个赋值表达式 后跟第二个运算符的表达式 但语法将其并列列出 表达 赋值表达式 表达式 赋值表达式 工作草案 编程标准 C语言 修订版 N4140 2014 年 11 月 有人好心向
  • 了解异步和等待

    我正在尝试学习 MVC5 的细节 但遇到了一些让我困惑的事情 在默认情况下带有个人身份验证的 MVC5 项目的 accountController 中 异步登录和注册方法中有这行代码 var result await UserManager