asp.net 让API方法异步是一个好方法吗?[关闭]

f87krz0w  于 2023-06-07  发布在  .NET
关注(0)|答案(1)|浏览(157)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

2天前关闭。
Improve this question
让API方法异步是一个好方法吗?
我有一个API,它创建用户并发送验证码到用户的电子邮件. JWT令牌是在用户电子邮件上发送电子邮件后生成的,因此我将方法和API设置为异步。那么,这是一个好的方法,还是请指导什么应该是处理此类请求的最佳方法。
我使用的是实体框架,所以问题是,sendEmail是一种不同的方法。如果我不使其异步,它会给出“无法访问已处理的上下文示例”。

2nc8po8w

2nc8po8w1#

异步代码的使用在很大程度上取决于您的应用程序和特定要求。
异步运行代码可能会由于线程切换而增加开销,但这种方法还可以加快请求-响应周期,并使应用程序能够并发处理更多请求。
一个常见的误解是,使用async关键字总是会导致更快的响应生成。只有当您有能力并发运行多个I/O调用时,才是这样。在这种情况下,总执行时间将近似等于最长单个操作的持续时间。然而,单个异步操作不太可能优于其同步操作。
使方法异步的另一个动机是在处理当前I/O调用时释放线程以服务其他请求。这更多的是关于更好的资源利用率,而不是原始性能。
总之,如果您关心的是优化CPU/线程利用率,或者如果您有能力并发运行多个调用,那么采用异步可能是有益的。另一方面,如果这些条件不适用,那么使用异步编程可能不会比同步编程有显著的优势。
谈到与处理上下文相关的问题,请提供有关代码的更多细节。

相关问题