.net 核心和 Mvc api 行为之间的区别
Difference between .net core and Mvc api behaviour
.net core mvc api 默认是异步的,.net mvc 默认是同步的
.Net 和 .Net Core 控制器动作可以是同步的也可以是异步的。框架负责处理是否等待控制器操作背后的细节。
要使您的控制器操作异步,请将 return 类型设置为任务类型中的一个。
框架将等待结果,您还可以将 CancellationToken 添加到您的操作参数中,当客户端断开连接时,框架会为您添加它,以便您可以取消任何长时间 运行 任务有效。
不过请注意,如果您在 IIS 中托管,为避免应用程序池锁定,如果您打算在较低层中使用异步代码,则应使用异步操作。使用 .Wait 或 .GetResult 将导致应用程序池线程查找并且您的应用程序池将崩溃
.net core mvc api 默认是异步的,.net mvc 默认是同步的
.Net 和 .Net Core 控制器动作可以是同步的也可以是异步的。框架负责处理是否等待控制器操作背后的细节。
要使您的控制器操作异步,请将 return 类型设置为任务类型中的一个。
框架将等待结果,您还可以将 CancellationToken 添加到您的操作参数中,当客户端断开连接时,框架会为您添加它,以便您可以取消任何长时间 运行 任务有效。
不过请注意,如果您在 IIS 中托管,为避免应用程序池锁定,如果您打算在较低层中使用异步代码,则应使用异步操作。使用 .Wait 或 .GetResult 将导致应用程序池线程查找并且您的应用程序池将崩溃