Les CancellationToken sont des objets permettant d’annuler des tâches asynchrones. Dans le cas d’une API ASPNET Core, elles peuvent être utilisées Core afin de gérer l’annulation des requêtes HTTP par le client.
Et pour l’utiliser, il faut… simplement déclarer un paramètre de type CancellationToken
sur vos actions (et bien sûr penser à passer le paramètre aux méthodes sous-jacentes) :
[HttpGet("")]
public async Task<IActionResult> Login([FromBody]LoginRequest loginRequest, CancellationToken cancellationToken)
{
return await this.authenticationManager.Login(loginRequest.Login, loginRequest.Password, cancellationToken);
}
ASPNET Core va automatiquement binder tous les paramètres de type CancellationToken
de vos actions à la propriété HttpContext.RequestAborted
, via le model binder CancellationTokenModelBinder
Et voilà, rien de plus simple à mettre en place et pourtant très intéressant.
Bons CancellationToken !