Cuando se CancellationToken.CanBeCanceled ser falsa?
-
27-09-2019 - |
Pregunta
La documentación sobre CancellationToken.CanBeCanceled
describe lo lo hace, pero no menciona cuando jamás puede ser falsa. Por lo tanto no es del todo claro para mí cuando debería prestar atención a esta propiedad.
En qué circunstancias puede ser falsa y cuando debo mirarlo?
Solución
Bueno, CancellationToken.None uno que no se puede cancelar.
Si usted es usuario de una API que insiste en recibir un CancellationToken, pero tienes ningún interés en vez de intentar cancelar el trabajo, entonces usted podría pasar esta muestra.
Como alguien Construcción una API, que puede ser capaz de hacer ciertas optimizaciones si CanBeCancelled devuelve falso -. Tal vez es "cara" para que pueda comprobar la propiedad IsCancellationRequested
Otros consejos
Por ejemplo, cuando "todo" código del método asíncrono es el método de llamada en la máquina remota (servidor, por ejemplo) que no puede ser cancelada (la máquina remota no proporciona ninguna manera, cómo cancelar eso). A continuación, la tarea no puede ser cancelada -.> Tarea puede ser sólo completó (o lanzar una excepción)