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?

¿Fue útil?

Solución

Devuelve

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)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top