Descartar tarefa

Você pode descartar uma tarefa em tempo de execução. Você não pode executar uma tarefa que descartou.

Método
Stop()

Cada tarefa assíncrona termina automaticamente quando o nó pai NetLogic é removido. No entanto, recomendamos o descarte de tarefas dentro do método
Stop()
invocando o método
Dispose()
, conforme mostrado no exemplo a seguir.
public override void Stop() { myTask.Dispose(); }
IMPORTANTE: Invocar o método
Dispose()
em uma tarefa assíncrona bloqueia a tarefa até que o código executado pela tarefa retorne o controle ao chamador (por meio do controle do estado da tarefa ou pela conclusão da tarefa).

Exemplo

O exemplo a seguir mostra como criar, executar e descartar uma tarefa assíncrona.
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;
O exemplo envolve:
  • Definir uma variável de instância privada (
    private PeriodicTask myTask;
    ) na classe C# contida no NetLogic.
    DICA: Dependendo do tipo de tarefa a ser criada, a classe dessa variável deve ser
    PeriodicTask
    ,
    DelayedTask
    ou
    LongRunningTask
  • Definir um método (
    IncrementVariable()
    ) que a tarefa deve executar.
  • Criar a tarefa.
    Dentro do método
    Start()
    , na classe C# contida no NetLogic, a variável de instância privada (
    myTask
    ) é inicializada usando o construtor de classe (
    PeriodicTask
    ).
    DICA: O construtor exige uma variedade de argumentos com base na classe à qual pertence. Consulte Tarefa assíncrona.
  • Executar a tarefa assim que o NetLogic é inicializado em tempo de execução.
    Dentro do método
    Start()
    na classe C# contida no NetLogic, o método
    Start()
    é invocado na tarefa (
    myTask.Start()
    ).
  • Descartar a tarefa no método
    Stop()
    invocando o método
    Dispose()
    .
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.