Aufgabe verwerfen

Sie können zur Laufzeit Aufgaben verwerfen. Verworfene Aufgaben können nicht mehr ausgeführt werden.

Methode
Stop()

Wenn der übergeordnete Knoten des NetLogic-Objekts entfernt wird, wird jede asynchrone Aufgabe automatisch beendet. Dennoch empfehlen wir, die Verwerfung von Aufgaben innerhalb der Methode
Stop()
durch Aufruf der Methode
Dispose()
durchzuführen, wie im folgenden Beispiel veranschaulicht wird.
public override void Stop() { myTask.Dispose(); }
WICHTIG: Der Aufruf der Methode
Dispose()
aus einer asynchronen Aufgabe heraus blockt diese solange, bis der von der Aufgabe ausgeführte Code die Kontrolle an den Aufrufenden zurückgibt (mithilfe der Kontrolle des Aufgabenstatus oder durch Fertigstellung der Aufgabe).

Beispiel

Das folgende Beispiel zeigt die Erstellung, Ausführung und Verwerfung einer asynchronen Aufgabe.
public override void Start() { myTask = new PeriodicTask(IncrementVariable, 1000, LogicObject) myTask.Start(); } public override void Stop() { myTask.Dispose(); } private void IncrementVariable() { variable1.Value = variable1.Value + 1; } private PeriodicTask myTask;
Das Beispiel umfasst:
  • Definition einer privaten Instanzvariable (
    private PeriodicTask myTask;
    ) in der C#-Klasse, die in der NetLogic enthalten ist.
    TIPP: Je nach dem zu erstellenden Aufgabentyp muss die Klasse dieser Variable
    PeriodicTask
    ,
    DelayedTask
    oder
    LongRunningTask
    sein.
  • Definition einer Methode (
    IncrementVariable()
    ), die von der Aufgabe ausgeführt werden muss.
  • Erstellung der Aufgabe.
    Innerhalb der Methode
    Start()
    wird in der C#-Klasse, die in der NetLogic enthalten ist, die private Instanzvariable (
    myTask
    ) mithilfe des Klassenkonstruktors (
    PeriodicTask
    ) initialisiert.
    TIPP: Der Konstruktor erfordert je der Klasse, zu der er angehört, verschiedene Argumente. Weitere Informationen finden Sie unter Asynchrone Aufgabe.
  • Ausführung der Aufgabe, sobald die NetLogic zur Laufzeit initialisiert wurde.
    Innerhalb der Methode
    Start()
    wird in der C#-Klasse, die in der NetLogic enthalten ist, die Methode
    Start()
    für die Aufgabe (
    myTask.Start()
    ) aufgerufen.
  • Verwerfung der Aufgabe in der Methode
    Stop()
    durch Aufruf der Methode
    Dispose()
    .
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.