首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将异步放在不执行等待操作的WebAPI控制器操作上有什么好处?

将异步放在不执行等待操作的WebAPI控制器操作上有什么好处?
EN

Stack Overflow用户
提问于 2018-06-28 21:35:47
回答 2查看 86关注 0票数 2

我最近被问到.NET WebAPI的面试问题,问题是这样的.

采访者:

async添加到WebAPI控制器操作的方法签名中有什么好处吗?没有执行任何异步操作吗?

我的答案是:

不,因为方法中没有阻塞代码,这意味着控制器操作应该在线程池中在自己的线程中同步运行。对吗?

采访者:

不,其实不是。

我在网上搜索了15到20分钟,想找到一个确切的答案,但对答案并不完全满意.那么,我是对的还是面试官是对的?

为了进一步澄清这个问题:在这种情况下,加载测试WebAPI控制器操作的性能会更好吗?仅仅因为它在签名中有一个异步关键字位置,即使其中没有异步代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-28 21:44:29

async修饰符本身不起任何作用。

来自文档

如果async关键字修改的方法不包含await表达式或语句,则该方法将同步执行。编译器警告您注意任何不包含async语句的await方法,因为这种情况可能表示错误。

票数 3
EN

Stack Overflow用户

发布于 2018-06-28 22:00:35

您是正确的,没有asyncawait将是一个在当前线程上运行的Task (而不是一个新线程),直到结束时它基本上=同步运行。

如果您真的想要考虑到一切,那么将其标记为异步将增加创建Task的完全可忽略的开销。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51091546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档