Quay lại thư viện câu hỏi
net core Junior

Trong ASP.NET Core, sự khác biệt giữa IActionFilter và IAsyncActionFilter là gì và khi nào bạn nên ưu tiên sử dụng phiên bản Async?

Phân tích cơ chế

  • IActionFilter: Cung cấp các phương thức đồng bộ OnActionExecuting và OnActionExecuted. Nó phù hợp với các tác vụ xử lý nhanh, không liên quan đến I/O.
  • IAsyncActionFilter: Cung cấp phương thức OnActionExecutionAsync. Đây là tiêu chuẩn hiện đại trong .NET Core.

Tại sao nên dùng Async?

  • Khi filter cần thực hiện các tác vụ I/O như truy vấn Database, gọi API bên thứ ba hoặc ghi log vào hệ thống tập trung.
  • Sử dụng Async giúp giải phóng Thread từ Thread Pool trong khi chờ đợi kết quả I/O, từ đó tăng khả năng phục vụ (Scalability) của ứng dụng.

Ví dụ code

public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
    // Logic trước khi thực thi Action
    await next(); // Gọi Action tiếp theo
    // Logic sau khi thực thi Action
}

Lưu ý: Luôn ưu tiên IAsyncActionFilter để tránh hiện tượng Thread Starvation trong các ứng dụng Enterprise.

Luyện tập câu hỏi này trong chế độ đếm ngược mô phỏng phỏng vấn thật:
Phòng Luyện Tập
Khóa học Chuyên sâu Chủ đề net core

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)

Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.

High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học