Jaki jest najprostszy sposób wykonywania zadań w tle w systemie Windows.Forms?

Zadania w tle to takie, które obejmują sieciowe operacje we / wy, dyskowe operacje we / wy lub inne długotrwałe zadania, które mogą lub nie mogą odbywać się w sieci. Często łączy się z kodem, który aktualizuje GUI, który musi działać na innym wątku, wątku GUI.

Proste, że podczas otwierania pliku Form.cs kod źródłowy jest tak łatwy lub łatwiejszy do odczytania niż wcześniej. W praktyce przepływ kodu źródłowego musi nadal odczytywać sekwencyjnie w odniesieniu do kolejności, w jakiej kod jest wykonywany, niezależnie od tego, w którym wątku jest wykonywany. Cała tkanina wspierająca musi być wielokrotnego użytku i ukryta gdzieś, a nie być umieszczana w każdym formularzu.

Googling MSDN: odkrył, że rozwiązaniem oficjalnie usankcjonowanym przez Microsoft jest System.ComponentModel.BackgroundWorker, który w drugim punkcie (bardzo!) Jest krótki!

(Istnieje również oficjalnie usankcjonowany model rozwiązania Silverlight / XAML / 3.5 w System.Windows.Threading.Dispatcher.)

questionAnswers(8)

yourAnswerToTheQuestion