Constructor: LongRunningTask(action, executingNode)

Una tarea
LongRunningTask
ejecuta código limitado por el tiempo o por la CPU.
LongRunningTask(Action action, IUANode executingNode);

Argumentos

action
(Action)
Método o expresión lambda que se va a ejecutar.
executingNode
(IUANode)
Nodo en el que se ejecuta el código.

Ejemplo

Una tarea
myLongRunningTask
procesa un archivo CSV mediante el método
ProcessCsvFile()
. Este método toma la misma tarea como argumento, el estado del cual se comprueba mediante la propiedad
IsCancellationRequested
después de leer cada fila del archivo CSV. De esta manera, la tarea se puede cancelar.
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; }
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.