La bibliothèque parallèle de tâches fait partie du .NET Framework depuis .NET 4. Il s'agit d'un ensemble d'API permettant aux développeurs de programmer des applications asynchrones.
Je cherche une raison pour laquelle .NET CancellationTokenstruct a été introduit en plus de la CancellationTokenSourceclasse. Je comprends comment l'API doit être utilisée, mais je veux également comprendre pourquoi elle est conçue de cette façon. Ie, pourquoi avons-nous: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { …
En regardant divers exemples C # Async CTP, je vois certaines fonctions asynchrones qui renvoient voidet d'autres qui renvoient le non générique Task. Je peux voir pourquoi le renvoi d'un Task<MyType>est utile pour renvoyer des données à l'appelant lorsque l'opération asynchrone se termine, mais les fonctions que j'ai vues qui …
Au cas où je ne me soucierais pas de l'ordre d'achèvement des tâches et que j'aurais juste besoin de toutes les terminer, dois-je toujours utiliser await Task.WhenAllau lieu de plusieurs await? par exemple, est DoWork2ci - dessous une méthode préférée pour DoWork1(et pourquoi?): using System; using System.Threading.Tasks; namespace ConsoleApp { …
J'implémente une méthode Task<Result> StartSomeTask()et je connais déjà le résultat avant que la méthode ne soit appelée. Comment créer une tâche <T> déjà terminée? C'est ce que je fais actuellement: private readonly Result theResult = new Result(); public override Task<Result> StartSomeTask() { var task = new Task<Result>(() => theResult); task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread); …
Je souhaite déclencher une tâche à exécuter sur un thread d'arrière-plan. Je ne veux pas attendre la fin des tâches. Dans .net 3.5, j'aurais fait ceci: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); Dans .net 4, le TPL est la méthode suggérée. Le modèle commun que j'ai vu recommandé est: Task.Factory.StartNew(() => …
J'utilise TPL dans mon projet actuel et j'utilise Parallel.Foreach pour faire tourner de nombreux threads. La classe Task contient Wait () pour attendre que la tâche soit terminée. Comme ça, comment puis-je attendre que Parallel.ForEach se termine, puis passer à l'exécution des instructions suivantes?
Lorsqu'un utilisateur charge une page, il effectue une ou plusieurs requêtes ajax, qui atteignent les contrôleurs ASP.NET Web API 2. Si l'utilisateur accède à une autre page, avant que ces requêtes ajax ne soient terminées, les requêtes sont annulées par le navigateur. Notre ELMAH HttpModule enregistre ensuite deux erreurs pour …
Quelqu'un peut-il expliquer si awaitet ContinueWithsont synonymes ou non dans l'exemple suivant. J'essaye d'utiliser TPL pour la première fois et j'ai lu toute la documentation, mais je ne comprends pas la différence. Attendez : String webText = await getWebPage(uri); await parseData(webText); Continuer avec : Task<String> webText = new Task<String>(() => …
J'essaie depuis un moment d'obtenir quelque chose que je pensais être simple de travailler avec .NET 4.5 Je veux lancer deux tâches longues en même temps et collecter les résultats de la meilleure façon C # 4.5 (RTM) Ce qui suit fonctionne mais je n'aime pas ça parce que: Je …
// let's say there is a list of 1000+ URLs string[] urls = { "http://google.com", "http://yahoo.com", ... }; // now let's send HTTP requests to each of these URLs in parallel urls.AsParallel().ForAll(async (url) => { var client = new HttpClient(); var html = await client.GetStringAsync(url); }); Voici le problème, il …
J'ai une application .Net 4.5 multiniveau appelant une méthode utilisant le nouveau C # asyncawait mots-clés de et qui se bloque juste et je ne vois pas pourquoi. En bas, j'ai une méthode asynchrone qui étend notre utilitaire de base de données OurDBConn(essentiellement un wrapper pour le sous DBConnection- jacent …
Qu'est-ce que cela signifie et comment le résoudre? J'utilise des tâches TPL. Toute l'erreur Les exceptions d'une tâche n'ont pas été observées en attendant la tâche ou en accédant à sa propriété Exception. Par conséquent, l'exception non observée a été renvoyée par le thread du finaliseur. à System.Threading.Tasks.TaskExceptionHolder.Finalize () mscorlib
J'aime vraiment cette question: Le moyen le plus simple de faire un feu et d'oublier la méthode en C #? Je veux juste savoir que maintenant que nous avons des extensions Parallel en C # 4.0, y a-t-il une meilleure façon plus propre de faire Fire & Forget avec Parallel …
J'utilise des tâches pour exécuter des appels de serveur de longue durée dans mon ViewModel et les résultats sont rassemblés lors de l' Dispatcherutilisation TaskScheduler.FromSyncronizationContext(). Par exemple: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() => { ... }) .ContinueWith(x => this.Message = "Completed" , context); Cela …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.