.NET

Async w ASP.NET Core

async/await w kontrolerach, CancellationToken, streaming responses, timeouty, async filtry, IAsyncEnumerable

20 pytań z rozmów·
Mid-Level
1

Dlaczego warto używać async/await w akcjach kontrolerów ASP.NET Core?

Odpowiedź

Użycie async/await w kontrolerach zwalnia wątki z thread pool podczas operacji I/O (baza danych, zewnętrzne API). Poprawia to skalowalność serwera, pozwalając wątkowi obsługiwać inne żądania podczas oczekiwania. Bez async wątek pozostaje zablokowany i niepotrzebnie zużywa zasoby, ograniczając liczbę równoczesnych żądań.

2

Co się dzieje, gdy akcja kontrolera zwraca Task<IActionResult> bez użycia async/await?

Odpowiedź

Zwracanie Task<IActionResult> bez async/await działa, jeśli bezpośrednio zwracasz istniejące Task (return dbContext.SaveChangesAsync();). Jednak bez słowa kluczowego async nie można używać await w ciele metody. Najczęściej użycie async pozwala oczekiwać na wiele operacji asynchronicznych i obsługiwać błędy za pomocą try/catch.

3

Jaka jest różnica między ToList() a ToListAsync() w akcji kontrolera?

Odpowiedź

ToList() jest synchroniczny i blokuje wątek podczas zapytania do bazy danych, ograniczając skalowalność. ToListAsync() jest asynchroniczny i zwalnia wątek podczas operacji I/O, pozwalając serwerowi obsługiwać inne żądania. Zawsze używaj ToListAsync() w kontrolerach, aby zmaksymalizować liczbę obsługiwanych równoczesnych żądań.

4

Jaka jest rola CancellationToken w akcjach kontrolerów?

5

Jak uzyskać CancellationToken w akcji kontrolera ASP.NET Core?

+17 pytań z rozmów

Opanuj .NET na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo