Question

J'ai une situation où je veux permettre à un utilisateur de taper dans un je veux qu'il y ait un court délai WPF TextBox, sur chaque combinaison de touches que j'appelle OnPropertyChanged et pousser ma source de liaison (à l'aide SourceUpdatedTrigger = PropertyChanged) avant de tenter de traiter les données (par exemple ... 1 seconde) Pensez à cela comme un système de vérification orthographique où il attend que l'utilisateur de taper d'arrêt avant de leur dire qu'ils ne peuvent pas épeler.

Ma question est:

 await TaskEx.Delay(1000, cts.Token);
 await TaskEx.RunEx(PollAsync, cts.Token);

fonctionne bien jusqu'à ce que vous annulez en fait, mais la source jeton d'annulation est permanantly dans l'état « demandé cancelation », et je dois reinstanciate la CTS ... cela semble ... fondamentalement mal ... Y at-il une meilleure façon de « réinitialiser » la CTS, informe encore encore des jetons existants qu'ils devraient annuler?

Était-ce utile?

La solution

Non, CancellationTokenSource ne peut être annulée une fois -. Comme vous le dites, vous devez créer une nouvelle fois que vous avez annulé ou résilié, pour d'autres tâches

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