Domanda

La documentazione sul CancellationToken.CanBeCanceled descrive ciò che lo fa, ma non menziona quando può mai essere falso. Quindi non è del tutto chiaro per me quando ho dovuto prestare attenzione a questa proprietà.

In quali circostanze può essere falso e quando devo guardare?

È stato utile?

Soluzione

ritorna

Bene, CancellationToken.None uno che non è annullabile.

Se sei l'utente di un'API che insiste su ricezione di un CancellationToken, ma hai alcun interesse a mai tentare di annullare il lavoro, allora si può solo passare questo token.

Come qualcuno costruzione un'API, si può essere in grado di fare alcune ottimizzazioni se CanBeCancelled restituisce false -. Forse è "costoso" per voi per controllare la proprietà IsCancellationRequested

Altri suggerimenti

Per esempio, quando "tutto" il codice del metodo asincrono è l'chiamando un metodo sulla macchina remota (server, per esempio) che non può essere annullata (la macchina remota non fornisce alcun modo, come cancellare quello). Quindi il compito non può essere cancellato -.> Compito può essere completato solo (o buttare eccezione)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top