Titta på C# Task Parallel Library. Du kan skapa en uppgift som är väldigt enkel. Till exempel...
Task myTask= new Task(() => {
Console.WriteLine(@"hello");
//Call stored procedure here
});
myTask.start();
Detta kommer att köra koden som är inslagen i uppgiften parallellt med huvudtråden. Om du vill kontrollera att uppgiften är klar kan du använda
if(myTask.IsCompleted())
{
Console.WriteLine(@"My task is finished");
}
Denna metod undvek att ändra den lagrade proceduren och tillåter C# att hantera prestandan.
Edit:-Och för att undvika att huvudtråden avslutas, lägg först till
Task.WaitAll(myTask);
Detta kommer att vila huvudtråden tills uppgiften är klar.