【发布时间】:2021-01-16 23:38:45
【问题描述】:
我最近被问到一个关于 .NET WebAPI 的面试问题,它是这样的......
面试官:
将
async添加到不执行任何异步操作的 WebAPI 控制器操作的方法签名有什么好处?
我的回答:
不,因为方法中没有阻塞代码,这意味着控制器动作应该在线程池中的自己的线程中同步运行。对吗?
面试官:
不,实际上不是。
我在网上搜索了大约 15-20 分钟以找到一个确定的答案,但对答案并不完全满意......那么,我是对的还是面试官是对的?
为了进一步澄清这个问题:在这种情况下,负载测试 WebAPI 控制器操作是否会在负载下执行得更好,只是因为它在签名中有一个 async 关键字位置,即使它没有异步代码?
【问题讨论】:
-
你是对的。
-
在这种情况下,我会在之后对面试官说。 “谢谢这个问题:(无论如何)。我不知道这一点。你能给我发一个链接到一篇文章的链接吗?”
-
您能否将其发布为答案,以便获得一些 SO 信用? @SLaks
-
async修饰符本身没有任何作用。 -
谢谢@mjwills。这是一个很好的后续问题。
标签: c# asp.net-web-api