Podívejte se na C# Task Parallel Library. Můžete vytvořit úlohu, která je velmi jednoduchá. Například...
Task myTask= new Task(() => {
Console.WriteLine(@"hello");
//Call stored procedure here
});
myTask.start();
Tím se spustí kód zabalený v úloze paralelně s hlavním vláknem. Pokud chcete zkontrolovat, zda je úkol dokončen, můžete použít
if(myTask.IsCompleted())
{
Console.WriteLine(@"My task is finished");
}
Tato metoda se vyhnula změně uložené procedury a umožňuje C# zvládnout výkon.
Edit:-A abyste se vyhnuli dokončení hlavního vlákna, nejprve přidejte
Task.WaitAll(myTask);
Tím se hlavní vlákno uspí, dokud nebude úloha dokončena.