Terminare un'attività

È possibile terminare un'attività a runtime. Non è possibile eseguire un task terminato.

Metodo
Stop()

Ogni attività asincrona termina automaticamente quando viene rimosso il nodo padre della NetLogic. Si consiglia, tuttavia, di terminare le attività all'interno del metodo
Stop()
richiamando il metodo
Dispose()
, come mostrato nell'esempio seguente.
public override void Stop() { myTask.Dispose(); }
IMPORTANTE: Il richiamo del metodo
Dispose()
su un'attività asincrona ne comporta il blocco finché il codice eseguito dall'attività non restituisce il controllo al chiamante (tramite il controllo dello stato dell'attività o per il completamento dell'attività).

Esempio

L'esempio seguente mostra la creazione, l'esecuzione e il termine di un'attività asincrona.
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;
L'esempio prevede:
  • Definizione di una variabile di istanza privata (
    private PeriodicTask myTask;
    ) nella classe C# contenuta nella NetLogic.
    MANCIA: A seconda del tipo di attività da creare, la classe di questa variabile deve essere
    PeriodicTask
    ,
    DelayedTask
    , o
    LongRunningTask
  • La definizione di un metodo (
    IncrementVariable()
    ) che l'attività deve eseguire.
  • La creazione dell'attività.
    All'interno del metodo
    Start()
    , nella classe C# contenuta nella NetLogic, la variabile dell'istanza privata (
    myTask
    ) viene inizializzata tramite il costruttore di classe (
    PeriodicTask
    ).
    MANCIA: Il costruttore richiede una varietà di argomenti in base alla classe a cui appartiene. Vedere Attività asincrona.
  • L'esecuzione dell'attività non appena la NetLogic viene inizializzata a runtime.
    All'interno del metodo
    Start()
    nella classe C# contenuta nella NetLogic, viene richiamato il metodo
    Start()
    sull'attività (
    myTask.Start()
    ).
  • Il termine dell'attività nel metodo
    Stop()
    richiamando il metodo
    Dispose()
    .
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.