Capítulo 10. Anulación

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

El marco.NET 4.0 introdujo un soporte de cancelación exhaustivo y bien diseñado. Este soporte es cooperativo, lo que significa que se puede solicitar la cancelación, pero no imponerla al código. Como la cancelación es cooperativa, no es posible cancelar código a menos que esté escrito para soportar la cancelación. Por esta razón, te recomiendo que apoyes la cancelación en la mayor parte posible de tu propio código.

La cancelación es un tipo de señal, con dos lados diferentes: una fuente que desencadena la cancelación y un receptor que responde a la cancelación. En .NET, la fuente es CancellationTokenSource y el receptor es CancellationToken. Las recetas de este capítulo cubren tanto las fuentes como los receptores de cancelación en el uso normal y describen cómo utilizar el soporte de cancelación para interoperar con formas de cancelación no estándar.

La cancelación se trata como un tipo especial de error. La convención es que el código cancelado lanzará una excepción de tipo OperationCanceledException (o de un tipo derivado, como TaskCanceledException). De esta forma, el código que llama sabe que se ha producido la cancelación.

Para indicar al código llamante que tu método admite la cancelación, debes tomar como parámetro un CancellationToken. Este parámetro suele ser el último, a menos que tu método también informe del progreso(Receta 2.3 ...

Get Libro de cocina de la concurrencia en C#, 2ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.