Task Parallel Library fa parte di .NET Framework da .NET 4. È un insieme di API per consentire agli sviluppatori di programmare applicazioni asincrone.
Sto cercando una logica del perché .NET CancellationTokenstruct è stato introdotto oltre alla CancellationTokenSourceclasse. Capisco come utilizzare l'API, ma voglio anche capire perché è stato progettato in questo modo. Cioè, perché abbiamo: var cts = new CancellationTokenSource(); SomeCancellableOperation(cts.Token); ... public void SomeCancellableOperation(CancellationToken token) { ... token.ThrowIfCancellationRequested(); ... } invece di …
Guardando vari esempi CTP asincroni C # vedo alcune funzioni asincrone che restituiscono voide altre che restituiscono il non generico Task. Posso capire perché la restituzione di a Task<MyType>è utile per restituire i dati al chiamante al termine dell'operazione asincrona, ma le funzioni che ho visto che hanno un tipo …
Nel caso in cui non mi interessa l'ordine di completamento delle attività e ho solo bisogno di completarle tutte, dovrei comunque usarle await Task.WhenAllinvece di più await? ad esempio, è di DoWork2seguito un metodo preferito per DoWork1(e perché?): using System; using System.Threading.Tasks; namespace ConsoleApp { class Program { static async …
Sto implementando un metodo Task<Result> StartSomeTask()e mi capita di conoscere il risultato già prima che venga chiamato il metodo. Come posso creare un'attività <T> che è già stata completata? Questo è quello che sto facendo attualmente: private readonly Result theResult = new Result(); public override Task<Result> StartSomeTask() { var task …
Voglio attivare un'attività da eseguire su un thread in background. Non voglio aspettare il completamento delle attività. In .net 3.5 avrei fatto questo: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); In .net 4 il TPL è il modo suggerito. Lo schema comune che ho visto consigliato è: Task.Factory.StartNew(() => { DoSomething(); }); …
Sto usando TPL nel mio progetto corrente e utilizzo Parallel.Foreach per girare molti thread. La classe Task contiene Wait () per attendere il completamento dell'attività. In questo modo, come posso aspettare il completamento di Parallel.ForEach e poi passare all'esecuzione delle istruzioni successive?
Quando un utente carica una pagina, effettua una o più richieste ajax, che colpiscono i controller ASP.NET Web API 2. Se l'utente naviga in un'altra pagina, prima che queste richieste ajax vengano completate, le richieste vengono annullate dal browser. Il nostro ELMAH HttpModule registra quindi due errori per ogni richiesta …
Qualcuno può spiegare se awaite ContinueWithsono sinonimi o meno nel seguente esempio. Sto cercando di utilizzare TPL per la prima volta e ho letto tutta la documentazione, ma non capisco la differenza. Aspetta : String webText = await getWebPage(uri); await parseData(webText); Continua con : Task<String> webText = new Task<String>(() => …
Ho provato per un po 'di tempo a ottenere qualcosa che pensavo sarebbe stato semplice lavorare con .NET 4.5 Voglio lanciare due attività a lunga esecuzione contemporaneamente e raccogliere i risultati nel miglior modo C # 4.5 (RTM) Il seguente funziona ma non mi piace perché: Voglio Sleepessere un metodo …
// 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); }); Ecco il problema, avvia …
Ho un multi-tier .Net 4.5 applicazione che si chiama un metodo che utilizza C # 's nuova asynce awaitparole chiave che solo si blocca e non riesco a capire perché. In fondo ho un metodo asincrono che estende la nostra utilità di database OurDBConn(fondamentalmente un wrapper per il sottostante DBConnectione …
Cosa significa e come risolverlo? Sto usando attività TPL. L'intero errore Le eccezioni di un'attività non sono state osservate né da Waiting on the Task né accedendo alla sua proprietà Exception. Di conseguenza, l'eccezione non osservata è stata lanciata di nuovo dal thread del finalizzatore. in System.Threading.Tasks.TaskExceptionHolder.Finalize () mscorlib
Mi piace molto questa domanda: Il modo più semplice per eseguire un fuoco e dimenticare il metodo in C #? Voglio solo sapere che ora che abbiamo estensioni parallele in C # 4.0 esiste un modo migliore e più pulito per eseguire Fire & Forget con Parallel linq?
Sto usando Tasks per eseguire chiamate server a lunga esecuzione nel mio ViewModel e i risultati vengono reimpostati durante l' Dispatcherutilizzo TaskScheduler.FromSyncronizationContext(). Per esempio: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() => { ... }) .ContinueWith(x => this.Message = "Completed" , context); Funziona bene quando eseguo …
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.