top of page

Aktion im Hintergrund ausführen / Execute action in background

(alle Versionen/all versions)

Mittwoch, 6. Mai 2026

Deutsch

Hintergrund

Häufig hat man in der Entwicklung die Situation , dass Routinen längere Laufzeiten haben.

Schreibt man z.B. eine kleine Konsolen-Anwendung , die plötzlich eine länger laufende Methode aufruft , dann scheint die Anwendung zu stehen.

Nachfolgend ein simpler Ansatz , der dem Anwender zumindest zeigt:

Die Anwendung arbeitet noch!


Code-Beispiel für eine Konsolen-Anwendung

Mit "System.Threading.Tasks.Task.Run" kann man eine einzelne Methode (oder mehrere) recht einfach in einem Hintergrund-Task laufen lassen.

Console.WriteLine( "Action started..." );

// Start the long-running operation in a background task

var backgroundTask = System.Threading.Tasks.Task.Run( () => { 
ExecuteBulkUpsert( dataAccessor , tvpTable ); 
} );

// Main program loop, which waits for the background task to finish

while ( !backgroundTask.IsCompleted )
{

  Console.WriteLine( "Be patient ... action is still running! " + DateTime.Now.ToString() );

  System.Threading.Thread.Sleep( TimeSpan.FromSeconds( 2 ) );

}

Console.WriteLine( "Action finished." );


bottom of page