.NET

Async in ASP.NET Core

async/await in controllers, CancellationToken, streaming responses, timeouts, async filters, IAsyncEnumerable

20 คำถามสัมภาษณ์·
Mid-Level
1

Why use async/await in ASP.NET Core controller actions?

คำตอบ

Using async/await in controllers frees thread pool threads during I/O operations (database, external APIs). This improves server scalability by allowing the thread to process other requests while waiting. Without async, the thread remains blocked and consumes resources unnecessarily, limiting the number of concurrent requests.

2

What happens if a controller action returns Task<IActionResult> without using async/await?

คำตอบ

Returning Task<IActionResult> without async/await works if you directly return an existing Task (return dbContext.SaveChangesAsync();). However, without the async keyword, you cannot use await in the method body. Most of the time, using async allows awaiting multiple async operations and handling errors with try/catch.

3

What is the difference between ToList() and ToListAsync() in a controller action?

คำตอบ

ToList() is synchronous and blocks the thread during the database query, limiting scalability. ToListAsync() is asynchronous and frees the thread during I/O operations, allowing the server to process other requests. Always use ToListAsync() in controllers to maximize supported concurrent requests.

4

What is the role of CancellationToken in controller actions?

5

How to obtain the CancellationToken in an ASP.NET Core controller action?

+17 คำถามสัมภาษณ์

เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี