Start Async-Task-ohne Verwendung von Await in der aufgerufenen Methode

Fenster-Speicher-app ist eine zeitintensive Methode, die muss ich anrufen, wenn die Anwendung startet, aber ich brauche nicht zu warten auf Sie zu vervollständigen. Ich will, dass es läuft als hintergrund-task. Wenn das gehen zu einem bestimmten Teil der Anwendung (reporting), dann werde ich prüfen und, wenn notwendig, warten Sie auf die Aufgabe.

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

Ist es so aufgerufen

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

Es ist kein Warten auf Anruf und ich bekomme die Warnung, dass es dann synchron läuft. Wie fange ich so etwas und haben es asynchron laufen soll? Ich will es auf seine eigene thread/task, ohne zu blockieren den interface-thread. Irgendwelche Ideen?

Danke!

Die einfachste Implementierung ist die Verwendung einer BackgroundWorker
Irgendwelche Proben? System.ComponentModel.BackgroundWorker ist nicht Teil des Windows.Store Rahmen.
Keine, die sind kurz genug, um hier - ich werde versuchen, verfassen Sie eine kurze Antwort unter

InformationsquelleAutor Robert Beaubien | 2013-02-15

Schreibe einen Kommentar