none
Unregister oder nicht? RRS feed

  • Allgemeine Diskussion

  • Sollte man, wie in einigen Beispielen im Netz zu sehen ist, die eigene Backgorundtask immer vorher "deregistrieren" (unregister):

    foreach (var task in BackgroundTaskRegistration.AllTasks)
        if (task.Value.Name == "MeinTaskName")
            task.Value.Unregister(true);
    
    BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
    builder.Name = "MeinTaskName";
    ...

    oder reicht es nicht, zu prüfen ob sie schon registriert wurde und falls nicht, es eben zu tun:

    bool HasToBeRegistered = true; foreach (var task in BackgroundTaskRegistration.AllTasks) 
         if (task.Value.Name == "MeinTaskName") 
         { 
             HasToBeRegistered = false; 
             break; 
         } 
    if (HasToBeRegistered) 
    { 
         BackgroundTaskBuilder builder = new BackgroundTaskBuilder(); 
        builder.Name = "MeinTaskName"; 
        ... 
    } 

    Die erste Variante hat in der Entwicklungsphase den Vorteil, dass immer sie jeweils aktuelle Version verwendet wird (falls das nicht sowieso der Fall ist).

    In der Kundenversion würde allerdings immer eine Task deregistriert und die selbe 'nen Moment später wieder registriert werden (abgesehen vom allerersten Programmaufruf) - das erscheint mir irgendwie unsinnig.

    Was meint ihr?

    Gruß
    Ralf



    • Bearbeitet Ralf_Ellersiek Sonntag, 27. Januar 2013 12:40
    • Typ geändert Ralf_Ellersiek Montag, 28. Januar 2013 11:41 Ist ja eigentlich keine Frage
    Sonntag, 27. Januar 2013 10:51

Alle Antworten