Eliminar una tarea

Puede eliminar una tarea en tiempo de ejecución. No puede ejecutar una tarea que se ha eliminado.

Stop()
Método

Cada tarea asincrónica termina automáticamente cuando se quita el nodo primario de NetLogic. No obstante, se recomienda eliminar las tareas dentro del método
Stop()
mediante la invocación del método
Dispose()
, como se muestra en el siguiente ejemplo.
public override void Stop() { myTask.Dispose(); }
IMPORTANTE: Al invocar el método
Dispose()
en una tarea asíncrona, esta se bloquea hasta que el código ejecutado por la tarea devuelve el control al autor de la invocación (mediante el control del estado de la tarea o para completar la tarea).

Ejemplo

El siguiente ejemplo muestra la creación, ejecución y eliminación de una tarea asincrónica.
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;
El ejemplo incluye:
  • Definición de una variable de instancia privada (
    private PeriodicTask myTask;
    ) en la clase C# incluida en NetLogic.
    CONSEJO: Dependiendo del tipo de tarea que se va a crear, la clase de esta variable debe ser
    PeriodicTask
    ,
    DelayedTask
    o
    LongRunningTask
  • Definición de un método (
    IncrementVariable()
    ) que la tarea debe ejecutar.
  • Creación de la tarea.
    Dentro del método
    Start()
    , en la clase C# incluida en NetLogic, la variable de instancia privada (
    myTask
    ) se inicializa utilizando el constructor de clase (
    PeriodicTask
    ).
    CONSEJO: El constructor requiere una variedad de argumentos basada en la clase a la que pertenece. Consulte Tarea asíncrona.
  • Ejecución de la tarea en cuanto se inicialice NetLogic de tiempo de ejecución.
    Dentro del método
    Start()
    en la clase C# incluida en NetLogic, el método
    Start()
    se invoca en la tarea (
    myTask.Start()
    ).
  • Puede eliminar la tarea en el método
    Stop()
    invocando el método
    Dispose()
    .
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.