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.)