Nâng CaoC# iconC#

Captive dependency problem trong DI là gì và làm thế nào để tránh?

Captive dependency xảy ra khi scoped service bị inject vào singleton — service scoped sống mãi cùng singleton, không bao giờ được dispose đúng chu kỳ.

Ví dụ: IUnitOfWork (scoped) inject vào AppService (singleton), UnitOfWork bị "giam" mãi, scope không bao giờ kết thúc. Hậu quả: memory leak, dữ liệu stale, connection pool cạn kiệt. Phòng tránh: không bao giờ inject scoped vào singleton; dùng factory pattern hoặc IServiceScopeFactory để tạo scope tạm thời khi cần. Singleton nên stateless.

Xem toàn bộ C# cùng filter theo level & chủ đề con.

Mở danh sách C#