await 不等待休息响应 C# .net Core

await doesn't wait for rest response C# .netCore

我有一个客户端必须进行连续的休息调用,休息调用将执行一些功能并有一个状态。与 运行 rest 调用并行,客户端应每隔几秒轮询一次服务器以检查服务器端进程的状态(以检查服务器是否完成了由于原来的休息电话。

客户有以下调用:

 await runMultiScan(scanId, exitActions);
 handleExitActions(exitActions);

runMultiScan的实现方式如下:

    private async Task runMultiScan(Guid scanId, List<Action> exitActions)
    {                        
       var client = new RestClient(baseURL);

        var request = new RestRequest(@"api/scans", Method.POST);
        request.AddJsonBody(new Scan
        {
            sid = scanId.ToString(),
            scanPath = scansParentPath

        });
        var cancellationTokenSource = new CancellationTokenSource();
        await client.ExecuteTaskAsync(request, cancellationTokenSource.Token);
    }

与此同时,我有 getStatus 函数,该函数还对服务器进行了休息调用。 奇怪的是,在 "runMultiScan" 中的 rest 调用花了几分钟后,它退出等待并转到 handleExitActions(exitActions);

尽管服务器尚未完成 RestRequest:

    [HttpPost]
    public void Post([FromBody] ScanData scanInfo)
    {

       currentScan = new Scan(scanInfo);
      currentScan.runScan();                       

    }

而且服务器上的进程还在runScan里面​​,还没有返回。 这种行为的原因是什么(等待而不是等待 Post 完成)?

不确定,如果我没记错的话,RestClient class 的默认超时设置为 100 秒?所以服务器上的功能需要超过 100 秒,RestClient 超时所以应该是这样。检查服务器有什么问题,潜在的死锁...?