top of page
OFFICIUM INSERVIO IT
Your reliable partner for your business software...
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
