该问题出现的原因是 ASP.NET Core 在客户端返回时默认会将 Task 的序列化内容丢失。为了解决这个问题,我们可以通过手动将 Task 序列化并将其封装为 ActionResult 类型来避免这个问题。
以下是一个示例代码:
[HttpGet]
public async Task GetData()
{
var data = await GetDataAsync();
// 对 Task 进行序列化,并封装为 ActionResult 返回
return Content(JsonConvert.SerializeObject(data), "application/json");
}
通过将 Task 序列化并使用 ActionResult 来封装,我们可以在客户端上正确地接收 Task 的序列化内容。