Terminare un'attività

È possibile terminare un'attività al runtime. Non è possibile eseguire un'attività terminata.

Metodo
Stop()

Ogni attività asincrona termina automaticamente quando viene rimosso il nodo padre della NetLogic. Si consiglia, tuttavia, di terminare esplicitamente 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 l'interruzione 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 al runtime.
    All'interno del metodo
    Start()
    nella classe C# contenuta nella NetLogic, viene richiamato il metodo
    Start()
    sull'attività (
    myTask.Start()
    ).
  • La terminazione dell'attività nel metodo
    Stop()
    richiamando il metodo
    Dispose()
    .
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.