Question

La documentation sur CancellationToken.CanBeCanceled décrit ce il fait, mais ne mentionne pas quand il ne peut jamais être faux. Par conséquent, il est pas tout à fait clair pour moi quand je prêter attention à cette propriété.

Dans quelles circonstances peut-il être faux et quand dois-je regarder?

Était-ce utile?

La solution

Eh bien, CancellationToken.None rendement qui ne sont pas annulables.

Si vous êtes l'utilisateur d'une API qui insiste sur la réception d'un CancellationToken, mais vous avez aucun intérêt à jamais tenter d'annuler le travail, alors vous pouvez passer ce jeton.

Comme quelqu'un la construction une API, vous pouvez être en mesure de faire certaines optimisations si CanBeCancelled retourne false -. Peut-être de « coûteux » pour vous de vérifier la propriété IsCancellationRequested

Autres conseils

Par exemple, lorsque le code « entier » de la méthode async est l'appeler une méthode sur la machine distante (serveur par exemple) qui ne peut être annulée (la machine distante ne fournit aucune façon, comment l'annuler). Ensuite, la tâche ne peut pas être annulée -.> Tâche peut être réalisée que (ou lancer exception)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top