Konstruktor: LongRunningTask(action, executingNode)

Eine
LongRunningTask
-Aufgabe führt zeitgebundenen oder CPU-gebundenen Code aus.
LongRunningTask(Action action, IUANode executingNode);

Argumente

action
(Action)
Die auszuführende Methode bzw. Lambda-Ausdruck.
executingNode
(IUANode)
Der Knoten, in dem der Code ausgeführt wird.

Beispiel

Eine
myLongRunningTask
-Aufgabe verarbeitet eine CSV-Datei mit der
ProcessCsvFile()
-Methode. Diese Methode nimmt die Aufgabe selbst als Argument, deren Status mit Hilfe der
IsCancellationRequested
-Eigenschaft nach dem Lesen jeder Zeile der CSV-Datei überprüft wird. Auf diese Weise kann die Aufgabe abgebrochen werden.
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; }
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.