了解异步和等待

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(使用前将#替换为@)

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

  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • 继承依赖注入

    我想创建一个通用的 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