Regardez la bibliothèque parallèle de tâches C #. Vous pouvez créer une tâche très simple. Par exemple...
Task myTask= new Task(() => {
Console.WriteLine(@"hello");
//Call stored procedure here
});
myTask.start();
Cela exécutera le code encapsulé dans la tâche en parallèle avec le thread principal. Si vous souhaitez vérifier que la tâche est terminée, vous pouvez utiliser
if(myTask.IsCompleted())
{
Console.WriteLine(@"My task is finished");
}
Cette méthode évite de modifier la procédure stockée et permet à C# de gérer les performances.
Edit : - Et pour éviter que le fil principal ne se termine en premier, ajoutez
Task.WaitAll(myTask);
Cela mettra le thread principal en veille jusqu'à ce que la tâche soit terminée.