Construtor: LongRunningTask(action, executingNode)

Uma tarefa
LongRunningTask
executa um código vinculado ao tempo ou à CPU.
LongRunningTask(Action action, IUANode executingNode);

Argumentos

action
(Action)
O método ou expressão lambda a ser executado.
executingNode
(IUANode)
O nó no qual o código é executado.

Exemplo

Uma tarefa
myLongRunningTask
processa um arquivo CSV usando o método
ProcessCsvFile()
. Esse método usa a própria tarefa como argumento, cujo status é verificado por meio da propriedade
IsCancellationRequested
após a leitura de cada linha do arquivo CSV. Dessa forma, a tarefa pode ser cancelada.
using System.IO; // For using the StreamReader public class RuntimeNetLogic1 : BaseNetLogic { public override void Start() { // Insert code to be executed when the user-defined logic is started myLongRunningTask = new LongRunningTask(ProcessCsvFile, LogicObject); myLongRunningTask.Start(); } public override void Stop() { // Insert code to be executed when the user-defined logic is stopped myLongRunningTask.Dispose(); } private void ProcessCsvFile(LongRunningTask task) { // example method to read lines from a csv file using (var reader = new StreamReader("
path/to/csv/file.csv
")) { while (!reader.EndOfStream) { // Check whether task cancellation has been requested if (task.IsCancellationRequested) { // Properly handle task cancellation here return; } string line = reader.ReadLine(); // Process line } } } private LongRunningTask myLongRunningTask; }
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.