Je souhaite démarrer une tâche d'arrière-plan sans utiliser le mot-clé Await
. Au lieu de cela, je veux surveiller la tâche à divers points et la redémarrer si nécessaire pour mettre à jour les informations en arrière-plan. Voici la méthode que je suis en train d'appeler:Démarrer la tâche sans attendre
Public 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
Await UpdateVehicleStats(tempVehicle)
End If
Next
Return True
End Function
Le code que je suis en train de commencer la tâche ne semble pas fonctionner et je ne suis pas sûr de savoir comment fournir le paramètre. Je reçois une erreur « Tâche (de Boolean) ne peut pas être converti en System.Action et ou une erreur sur le paramètre »
Dim tempTask As Task
tempTask = New Task(UpdateVehicleSummaries(tempVehicleID))
tempTask.Start()
Toute aide serait appréciée.
Il faut donc utiliser serait quelque chose de similaire à ce ?: \t \t Dim tempTask Comme la tâche (de Boolean) = UpdateVehicleSummaries (tempVehicleID) \t \t 'faire d'autres choses \t \t tempTask.Wait() \t \t' continu e work –
@RobertBeaubien Normalement, vous utiliseriez plutôt là-bas. Cela évite d'avoir besoin d'appeler 'Wait()' - bien que vous puissiez si vous le voulez/devez le faire –
Parfait. Je vous remercie. –