.NET

Async in ASP.NET Core

async/await nei controller, CancellationToken, streaming responses, timeout, async filter, IAsyncEnumerable

20 domande da colloquio·
Mid-Level
1

Perché usare async/await nelle action dei controller ASP.NET Core?

Risposta

L'uso di async/await nei controller libera i thread del thread pool durante le operazioni I/O (database, API esterne). Questo migliora la scalabilità del server consentendo al thread di elaborare altre richieste durante l'attesa. Senza async, il thread rimane bloccato e consuma risorse inutilmente, limitando il numero di richieste concorrenti.

2

Cosa succede se una action di un controller restituisce Task<IActionResult> senza usare async/await?

Risposta

Restituire Task<IActionResult> senza async/await funziona se restituisci direttamente una Task esistente (return dbContext.SaveChangesAsync();). Tuttavia, senza la parola chiave async, non puoi usare await nel corpo del metodo. Nella maggior parte dei casi, usare async consente di attendere più operazioni asincrone e gestire gli errori con try/catch.

3

Qual è la differenza tra ToList() e ToListAsync() in una action di un controller?

Risposta

ToList() è sincrono e blocca il thread durante la query al database, limitando la scalabilità. ToListAsync() è asincrono e libera il thread durante l'operazione I/O, consentendo al server di elaborare altre richieste. Usa sempre ToListAsync() nei controller per massimizzare il numero di richieste concorrenti supportate.

4

Qual è il ruolo del CancellationToken nelle action dei controller?

5

Come ottenere il CancellationToken in una action di un controller ASP.NET Core?

+17 domande da colloquio

Padroneggia .NET per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis