SendAsync with CancellationToken

本文关键字:CancellationToken with SendAsync | 更新日期: 2023-09-27 18:08:46

我正在查看我的旧项目的代码,我发现了这个:

private async void send(HttpRequestMessage request, CancellationToken cancellationToken)
{
    HttpResponseMessage response = await _client.SendAsync(request, cancellationToken);
    //...
}

我想知道如果取消了会发生什么?

回应内容是什么?

我是否需要在那之后调用ThrowIfCancellationRequested,或者它本身会引发异常?

SendAsync with CancellationToken

我想知道如果取消了会发生什么?

标准模式是取消返回的任务。这将导致您的await引发OperationCanceledException

回应内容是什么?

没有响应对象,因为异常在该点之前被抛出。

你需要像这样调用它

...
cancelToken.ThrowIfCancellationRequested();
HttpResponseMessage response = await _client.SendAsync(request, cancellationToken);
...

当您请求取消时,它将抛出OperationCanceledException类型的异常。

相关文章:
  • 没有找到相关文章