Jak anulować połączenie asynchroniczne?

Jak anulować połączenie asynchroniczne? Wygląda na to, że APM .NET nie obsługuje tej operacji.

Mam następujący pętlę w moim kodzie, która spawnuje wiele wątków w ThreadPool. Gdy klikam przycisk w interfejsie użytkownika, chciałbym, aby te wątki (lub wywołania asynchroniczne) zostały zakończone.

foreach (var sku in skus)
{
    loadSku.BeginInvoke(...
}

Czy istnieje jakieś eleganckie rozwiązanie oprócz tworzenia globalnej „flagi anulowania” i stosowania asynchronicznych metod do jej wyszukiwania?

questionAnswers(3)

yourAnswerToTheQuestion