ابزار DependencyInjection.Lifetime.Analyzers، با بهرهگیری از Roslyn Analyzer، مشکلات رایج تزریق وابستگی (DI) مانند نشت حافظه، اسارت وابستگیها (Captive Dependencies) و عدم تطابق عمر خدمات را در زمان کامپایل شناسایی و رفع میکند. این ابزار بدون هیچ سربار اجرایی در زمان اجرا، از رسیدن ObjectDisposedException و الگوهای ضدعملکردی به محیط تولید جلوگیری مینماید و برای پروژههای مبتنی بر Microsoft.Extensions.DependencyInjection ایدهآل است.
DependencyInjection.Lifetime.Analyzers با اسکن استاتیک کد در IDEهایی مانند Visual Studio، Rider و VS Code، و همچنین در فرآیندهای CI/CD، ۱۲ الگوی مشکلساز (از DI001 تا DI012) را تشخیص میدهد. این قوانین شامل مواردی مانند عدم dispose کردن scopeهای سرویس (DI001)، خروج سرویسهای scoped از محدوده (DI002)، اسارت وابستگیهای scoped/transient در singletonها (DI003)، و الگوهای ضدعملکردی مانند Service Locator (DI007) میشود.
مشاهده مطلب اصلی