Début Async Tâche sans l'aide de qui les Attendent dans la méthode appelée

App store de fenêtre qui a une méthode longue que j'ai besoin d'appeler au démarrage de l'application, mais je n'ai pas besoin d'attendre qu'elle se termine. Je veux qu'il fonctionne comme une tâche de fond. Si l'aller vers une certaine partie de la demande (reporting), alors je vais vérifier et, si nécessaire, à attendre sur la tâche.

Public Shared Async Function UpdateVehicleSummaries(p_vehicleID As Int32) As Task(Of Boolean)
    Dim tempVehicle As Koolsoft.MARS.BusinessObjects.Vehicle

    For Each tempVehicle In Vehicles
        If p_vehicleID = 0 Or p_vehicleID = tempVehicle.VehicleID Then
            UpdateVehicleStats(tempVehicle)
        End If
    Next

    Return True

End Function

Il est appelé comme cela

Dim updateTask As Task(Of Boolean) = UpdateVehicleSummaries(0)

Il n'a pas d'Attendre l'appel à elle, et j'ai l'avertissement qu'il puisse fonctionner de manière synchrone. Comment puis-je commencer quelque chose comme ce qu'il s'exécute de façon asynchrone? Je veux qu'il marche sur son propre thread/tâche sans bloquer le thread d'interface. Des idées?

Merci!

L'implémentation la plus simple est d'utiliser un BackgroundWorker
Obtenu des échantillons? Système.ComponentModel.BackgroundWorker ne fait pas partie de Windows.Magasin de cadre.
Aucun de ceux qui sont assez court pour le mettre ici - je vais essayer de composer une courte réponse ci-dessous

OriginalL'auteur Robert Beaubien | 2013-02-15