Articles of asincrono

Come utilizzare Task.WhenAll () correttamente

Sto cercando di utilizzare Task.WhenAll per attendere il completamento di più attività. Il mio codice è sotto – si suppone che avvii più task asincroni, ognuno dei quali recupera un percorso di bus e quindi li aggiunge a un array locale. Tuttavia, Task.WhenAll (…) restituisce immediatamente e il conteggio dell’array delle rotte locali è zero. […]

Il debugger si interrompe dopo una chiamata asincrona HttpClient.GetAsync () in Visual Studio

Sto provando a testare il metodo di richiesta http follwing public async Task Get(string url) { using (HttpClient client = new HttpClient()) // breakpoint using (HttpResponseMessage response = await client.GetAsync(url)) // can’t reach anything below this point using (HttpContent content = response.Content) { return content; } } Tuttavia, il debugger sembra saltare il codice sotto […]

Schema di progettazione di programmazione asincrona

Sto lavorando su un piccolo framework tecnico per CF.NET e la mia domanda è, come devo codificare la parte asincrona? Leggi molte cose su MSDN ma non è chiaro per me. Quindi, ecco il codice: public class A { public IAsyncResult BeginExecute(AsyncCallback callback) { // What should I put here ? } public void EndExecute() […]

attendi AsyncMethod () contro attendi attendi Task.Factory.StartNew (AsyncMethod)

Dato il seguente metodo: public async Task DoSomethingAsync() { // do some work await OpenSomeFileAsync(); return new MyObject(); } C’è una differenza tra: public async void SomeEventHandler(EventArgs args) { var myObject = await await Task.Factory.StartNew<Task>( DoSomethingAsync); // do something with myObject } e: public async void SomeEventHandler(EventArgs args) { var myObject = await DoSomethingAsync(); // […]

Troppi argomenti in BeginXXX per FromAsync?

Ho un metodo asincrono con la seguente firma: IAsyncResult BeginGetMyNumber(string foo, string bar, string bat, int bam, AsyncCallback callback, object state) Voglio eseguirlo usando Factory.FromAsync in questo modo: var result = Task.Factory.FromAsync( instance.BeginGetMyNumber, instance.EndGetMyNumber, “foo”, “bar”, “bat”, 100, /*bam*/ null); ma ottengo il seguente errore: Argomento 1: imansible convertire da ‘method group’ a ‘System.Func’ Sembra […]

C # Socket.Riceive message length

Attualmente sto sviluppando un server C # Socket in grado di accettare più connessioni da più computer client. L’objective del server è consentire ai client di “iscriversi” e “annullare la sottoscrizione” dagli eventi del server. Finora ho preso una buona occhiata qui: http://msdn.microsoft.com/en-us/library/5w7b7x5f(v=VS.100).aspx e http://msdn.microsoft.com/ en-us / library / fx6588te.aspx per le idee. Tutti i […]

Metodi asincroni e delegati asincroni

C # 3.0 in breve dice metodi asincroni e delegati asincroni sembra simile, ma il comportamento è molto diverso. Ecco cosa dice il libro su entrambi. Metodi asincroni Raramente o mai blocchi alcun thread. Il metodo Begin potrebbe non tornare immediatamente al chiamante. Un protocollo concordato senza supporto per il linguaggio C #. Delegati asincroni […]

Scrivi un metodo Async che attenderà un bool

Vorrei scrivere un metodo che await che una variabile sia impostata su true. Ecco il codice psudo. bool IsSomethingLoading = false SomeData TheData; public async Task GetTheData() { await IsSomethingLoading == true; return TheData; } TheData verranno impostati da un evento Prism insieme alla variabile IsSomethingLoading . Ho una chiamata al metodo GetTheData , ma […]

C # ha funzione sincrona chiamata sincrona o sincrona chiamata asincrona

Sto scrivendo una libreria C # .Net 4.5 per fare operazioni di database sql comuni (backup, ripristino, script di esecuzione, ecc.). Voglio avere entrambe le funzioni sincrone e asincrone per ogni operazione, in quanto questa libreria verrà utilizzata dalle app della console e della GUI, ma non voglio duplicare il codice ovunque. Quindi, a quanto […]

L’operatore atteso non sta aspettando come mi aspettavo

Sto lavorando su una class DelayedExecutor che ritarderà l’esecuzione di Action passata al suo metodo DelayExecute di un certo timeout (vedi il codice sotto) usando le istruzioni async e await. Voglio anche essere in grado di interrompere l’esecuzione nell’intervallo di timeout , se necessario. Ho scritto un piccolo test per testare il suo comportamento in […]