Als «task-parallel-library» getaggte Fragen

Die Task Parallel Library ist seit .NET 4 Teil von .NET Framework. Es handelt sich um eine Reihe von APIs, mit denen Entwickler asynchrone Anwendungen programmieren können.

4
Bewährte Methode zum Aufrufen von ConfigureAwait für den gesamten serverseitigen Code
Wenn Sie serverseitigen Code haben (dh einige ApiController) und Ihre Funktionen asynchron sind - sie kehren also zurück Task<SomeObject>-, wird dies als bewährte Methode angesehen, wenn Sie jedes Mal auf Funktionen warten, die Sie aufrufen ConfigureAwait(false)? Ich hatte gelesen, dass es leistungsfähiger ist, da es nicht die Thread-Kontexte zurück zum …

9
Wenn meine Schnittstelle Task zurückgeben muss, wie kann eine Implementierung ohne Operation am besten durchgeführt werden?
Im folgenden Code LazyBarmuss die Klasse aufgrund der Schnittstelle eine Aufgabe von ihrer Methode zurückgeben (und kann aus Gründen der Argumentation nicht geändert werden). Wenn die LazyBarImplementierung insofern ungewöhnlich ist, als sie schnell und synchron ausgeführt wird, wie kann eine No-Operation-Task am besten von der Methode zurückgegeben werden? Ich habe …

5
Verwenden von async / await für mehrere Aufgaben
Ich verwende einen API-Client, der vollständig asynchron ist, dh jede Operation gibt entweder zurück Taskoder Task<T>z. static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Was ist mit den asynchronen / wartenden C # 5-Operatoren die richtige …

15
Warten Sie asynchron, bis Task <T> mit Timeout abgeschlossen ist
Ich möchte auf eine warten Aufgabe &lt;T&gt; mit einigen speziellen Regeln abgeschlossen ist: Wenn sie nach X Millisekunden nicht abgeschlossen wurde, möchte ich dem Benutzer eine Nachricht anzeigen. Und wenn es nach Y Millisekunden nicht abgeschlossen ist, möchte ich automatisch eine Stornierung beantragen . Ich kann Task.ContinueWith verwenden, um asynchron …




4
Wie kann ich Moq anweisen, eine Aufgabe zurückzugeben?
Ich habe eine Schnittstelle, die deklariert Task DoSomethingAsync(); Ich verwende MoqFramework für meine Tests: [TestMethod()] public async Task MyAsyncTest() { Mock&lt;ISomeInterface&gt; mock = new Mock&lt;ISomeInterface&gt;(); mock.Setup(arg =&gt; arg.DoSomethingAsync()).Callback(() =&gt; { &lt;my code here&gt; }); ... } Dann führe ich in meinem Test den Code aus, der aufgerufen wird await DoSomethingAsync(). …


4
Synchrones Warten auf eine asynchrone Operation und warum friert Wait () das Programm hier ein
Vorwort : Ich suche eine Erklärung, nicht nur eine Lösung. Ich kenne die Lösung bereits. Obwohl ich mehrere Tage damit verbracht habe, MSDN-Artikel über das aufgabenbasierte asynchrone Muster (TAP) zu studieren, asynchron zu sein und zu warten, bin ich immer noch etwas verwirrt über einige der feineren Details. Ich schreibe …

6
Fangen Sie eine Ausnahme ab, die von einer asynchronen Void-Methode ausgelöst wird
Ist es mit dem asynchronen CTP von Microsoft für .NET möglich, eine Ausnahme abzufangen, die von einer asynchronen Methode in der aufrufenden Methode ausgelöst wird? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets …

4
Parallel.ForEach vs Task.Factory.StartNew
Was ist der Unterschied zwischen den folgenden Codefragmenten? Werden nicht beide Threadpool-Threads verwenden? Wenn ich beispielsweise für jedes Element in einer Sammlung eine Funktion aufrufen möchte, Parallel.ForEach&lt;Item&gt;(items, item =&gt; DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() =&gt; DoSomething(item)); }



12
Asynchrone Methode synchron aufrufen
Ich habe eine asyncMethode: public async Task&lt;string&gt; GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Ich muss diese Methode von einer synchronen Methode aus aufrufen. Wie kann ich dies tun, ohne die GenerateCodeAsyncMethode duplizieren zu müssen, damit dies synchron funktioniert? Aktualisieren Es wurde jedoch keine vernünftige Lösung gefunden. …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.