请求完成前的 HTTP 响应

HTTP response before the request is complete

我构建了一个控制器,它必须对 assemble 响应进行多次 http 调用。 使用邮递员进行测试。当控制器进行第一次调用时,邮递员收到回复。我完全不知所措:

[HttpGet("")]
[ProducesResponseType(200)]
[ProducesResponseType(400)]
public async Task<IActionResult> GetPackageAsync()
{
  var filepackagesresp = aClient.GetPackageDetailsAsync();
  return Ok(filepackagesresp.ToString());
}

此控制器正在调用以下方法

public async Task<Package> GetPackageDetailsAsync()
{
var packageresp = await httpClient.GetAsync(serviceurl);
// At this point POSTMAN receives a response

packageresp.EnsureSuccessStatusCode();
var packageResponse = JsonConvert.DeserializeObject<GetPackageResponse>
    (await packageresp.Content.ReadAsStringAsync());

var packagepropertiesresp = await httpClient.GetAsync(serviceurl);
.....
there are more calls like this
......

Postman 在响应中显示 200 OK 和以下内容

"System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[namespace.Package,System.Runtime.CompilerServices.IAsyncStateMachine]"

是否有关于此行为的任何解释,我该如何调试? 提前感谢任何研究它的人

目前,控制器正在将 任务 转换为字符串并 returning 。您的控制器应该 await 提取结果对象的任务,然后 return 结果:

public async Task<IActionResult> GetPackageAsync()
{
  var filepackagesresp = await aClient.GetPackageDetailsAsync();
  return Ok(filepackagesresp.ToString());
}