.net core 和 Mvc api 行为之间的区别
Posted
技术标签:
【中文标题】.net core 和 Mvc api 行为之间的区别【英文标题】:Difference between .net core and Mvc api behaviour 【发布时间】:2022-01-07 19:10:32 【问题描述】:.net core mvc api默认是异步的,.net mvc默认是同步的
【问题讨论】:
【参考方案1】:.Net 和 .Net Core 控制器操作可以是同步的或异步的。该框架负责处理等待控制器操作背后的细节。
要使您的控制器操作异步,请将返回类型设置为 Task、Task 类型。
框架将等待结果,您也可以将 CancellationToken 添加到操作的参数中,框架会在客户端断开连接时为您添加,这样您就可以有效地取消任何长时间运行的任务。
但请注意,如果您在 IIS 中托管,为避免应用程序池锁定,如果您打算在较低层使用异步代码,则应使用异步操作。使用 .Wait 或 .GetResult 将导致应用程序池线程查看并且您的应用程序池将崩溃
【讨论】:
以上是关于.net core 和 Mvc api 行为之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
asp.net 5 MVC6 中标签助手和路由属性之间的奇怪行为
.net Core web api 2(不是 mvc)的 HttpResponseException/IHttpAction 响应的等效项