Ahh. Ich war zu lange im Entity Framework Land. Danke für die Tipps. Hier ist, was bei mir funktioniert hat. Sehen Sie irgendwelche Probleme damit?
Und mein Test (ich bin in Visual Studio 2012, so dass ich einen asynchronen Test machen kann).
[TestMethod]
public async System.Threading.Tasks.Task RecalculateBudgetNumbersAsyncTest()
{
System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch();
timer.Start();
await repo.RecalculateBudgetNumbersAsync(budgetId);
System.Console.WriteLine("RecalculateBudgetNumbersAsyncTest milliseconds: " + timer.ElapsedMilliseconds.ToString());
}
Nach Anregungen von Matt Smith und Usr, änderte ich RecalculateBudgetNumbersAsync
dazu. Ich hoffe, das ist was sie meinten:
public void RecalculateBudgetNumbersAsync(int budgetId)
{
System.Threading.Tasks.Task.Factory.StartNew(() => RecalculateBudgetNumbers(budgetId));
}
bleiben Sie nicht beim Entity-Framework stecken! Sie können diese Methoden async verwenden, so wie Sie alles andere async verwenden können. (Task.Run, Thread, async (seit 4.5)) – Marguth