ExpertiDict

C# · Intermediário · Inglês · Técnico

CancellationToken

/ˌkænsəˈleɪʃən ˈtoʊkən/substantivo

Struct que sinaliza um pedido de cancelamento cooperativo, criado por um CancellationTokenSource e repassado a operações assíncronas, que decidem quando parar.

Onde usar

Aparece como último parâmetro de métodos async e nos endpoints do ASP.NET Core, onde sinaliza que o cliente desconectou. Repassar o token adiante evita trabalho inútil e consultas penduradas.

Em código

using var cts = new CancellationTokenSource();
cts.CancelAfter(TimeSpan.FromSeconds(1));
try { await Task.Delay(5000, cts.Token); }
catch (OperationCanceledException)
{ Console.WriteLine("cancelado"); }

Exemplos

Pass the cancellation token down to the HTTP call.

Repasse o cancellation token até a chamada HTTP.

The request was aborted, so the token got cancelled.

A requisição foi abortada, então o token foi cancelado.

Cuidado

Não é um cancelamento forçado: nada interrompe a thread, e o código só para se verificar o token ou passá-lo a uma API que o respeite.

Sinônimos

token de cancelamento

Veja também

Todos os termos de C#