Se på C# Task Parallel Library. Du kan oprette en opgave, som er meget enkel. For eksempel...
Task myTask= new Task(() => {
Console.WriteLine(@"hello");
//Call stored procedure here
});
myTask.start();
Dette vil køre koden pakket ind i opgaven parallelt med hovedtråden. Hvis du ønsker at kontrollere, at opgaven er fuldført, kan du bruge
if(myTask.IsCompleted())
{
Console.WriteLine(@"My task is finished");
}
Denne metode undgik at ændre den lagrede procedure og tillader C# at håndtere ydeevnen.
Edit:-Og for at undgå, at hovedtråden slutter, tilføjer du først
Task.WaitAll(myTask);
Dette vil dvale hovedtråden, indtil opgaven er fuldført.