1.504 messaggi dal 27 dicembre 2005
Quindi questo metodo "model.FirstValue = await serviceClient.VeryLongOperationAsync();"

viene sempre eseguito e solo dopo si controlla se è andato in eccezzione ?
73 messaggi dal 23 settembre 2003
Parzialmente OT,
utilizzare await e async non comporta automaticamente l'esecuzione in parallelo delle operazioni, o sbaglio?
totti240282 ha scritto:
Quindi questo metodo "model.FirstValue = await serviceClient.VeryLongOperationAsync();"

viene sempre eseguito e solo dopo si controlla se è andato in eccezzione ?

Lo script spiega come applicare un timeout a un controller asincrono, ossia: la action deve concludersi entro 5 secondi, altrimenti deve essere restituita una pagina di errore.

That said  , la action viene comunque processata e tramite token.ThrowIfCancellationRequested() possiamo verificare, nei passaggi critici, se è già scaduto il timeout, per evitare di proseguire nell'elaborazione (se è questo, ciò che vogliamo).

La prima chiamata, nell'esempio che ho fatto, è sempre eseguita perchè non c'è una precedente verifica sul token: non è necessario perchè lo statement var model = new MyModel() non credo che impieghi più di un secondo

Spero che sia più chiaro!
m.
No, comporta che l'esecuzione sia asincrona. Se hai visto la mia sessione ad aspilive, c'è un esempio sull'uso di async/await e su come rendere le esecuzioni parallele.

Se te la sei persa, la registrazione andrà online giovedì 18.

Ciao!
m.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.