【发布时间】:2020-02-11 14:47:27
【问题描述】:
在 .Net 中,如果您的任务控制器方法没有异步等待它的任何操作及其依赖项的操作(例如也是不包含异步等待的任务方法的服务类),会发生什么情况。
例如 RoomController.cs:
[HttpGet]
public Task<List<Room>> GetRooms()
{
return _roomService.GetRoomsAsync();
}
... RoomService.cs:
public Task<List<Room>> GetRoomsAsync()
{
return _context.Rooms.ToListAsync();
}
这会导致问题或缺点吗?
【问题讨论】:
-
你能用一个例子说明你所说的“没有异步等待”是什么意思吗?
-
完成,方法声明中没有异步,异步调用也没有等待
-
不,这种方法不会造成问题。会有一个中间件代码等待控制器动作任务完成。
标签: .net .net-core controller async-await task