Я отправляю запрос на сервер, как это через HttpClient:
public async Task GetTest()
{
CancellationTokenSource tokenSource = new CancellationTokenSource();
string url = String.Format($"api/Test/getTest");
HttpResponseMessage response = await _httpClientFactory.HttpClient.GetAsync(url, tokenSource.Token).ConfigureAwait(false);
response.EnsureSuccessStatusCode();
}
В WebApi (Core 2.1) метод выглядит следующим образом:
[HttpGet("getTest")]
public async Task<IActionResult> GetTest(CancellationToken token)
{
try
{
object test = await _dataService.GetTest(token);
return Ok(test);
}
catch (Exception ex)
{
this._logger.LogError(ExceptionHelper.ExMessageDeepGet(ex));
return new InternalServerErrorWithMessageResult(ex);
}
}
В _dataService.GetTest(token)
Я token.ThrowIfCancellationRequested();
Проблема в том, что я получаю новый токен на webapi, а не тот, который отправляю через клиента, поэтому, если я остановлю запрос (завершу работу клиента) до ответа от API, исключение не выдается.
Есть предложения?