stavo facendo qualche codifica in ASP.NET quando mi sono imbattuto in questo:È sicuro utilizzare async/await nei gestori di eventi ASP.NET?
protected async void someButtonClickHandler(...)
{
if(await blah)
doSomething();
else
doSomethingElse();
}
Dopo aver chiesto this domanda ho ottenuto una migliore comprensione di come async
/await
opere. Ma poi mi ha colpito è sicuro usare async
/await
nel modo mostrato sopra?
Voglio dire dopo aver chiamato await blah
il chiamante continua l'esecuzione. Il che significa che potrebbe restituire la risposta al client prima del completamento di await blah
. È giusto? E se questo è il caso, cosa succede a doSomething()
/doSomethingElse()
. Saranno mai giustiziati? Se vengono eseguiti, l'utente vede gli effetti delle loro modifiche?
Nel mio caso questi metodi modificano alcuni dati visualizzati all'utente, ma mi piacerebbe anche sapere cosa succederebbe nel caso generale.
È per i moduli Web? –
@JonathanAllen si. – atoMerz