Costruttore: LongRunningTask(action, executingNode)

Un'attività
LongRunningTask
esegue un codice limitato per tempo o CPU.
LongRunningTask(Action action, IUANode executingNode);

Argomenti

action
(Action)
Il metodo o l'espressione lambda da eseguire.
executingNode
(IUANode)
Il nodo in cui viene eseguito il codice.

Esempio

Un'attività
myLongRunningTask
elabora un file CSV utilizzando il metodo
ProcessCsvFile()
. Il metodo ha come argomento l'attività stessa, il cui stato viene verificato tramite la proprietà
IsCancellationRequested
dopo la lettura di ogni riga del file CSV. In questo modo, l'attività può essere annullata.
using namespace System.IO; // For using the StreamReader class public override void Start() { myLongRunningTask = new LongRunningTask(ProcessCSVFile, LogicObject); myLongRunningTask.Start(); } public override void Stop() { myLongRunningTask.Dispose(); } private void ProcessCsvFile(LongRunningTask task) { using (var reader = new StreamReader(pathToCsvFile)) { 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;
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.