عنوان:

‫CancelCop.Analyzer، پلیس لغو عملیات async در .NET علیه هنگ‌های ناگهانی و هدررفت منابع


نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۹/۰۵ ۱۲:۰۶
آدرس: www.dntips.ir
ابزار CancelCop.Analyzer با استفاده از Roslyn Analyzer، مشکلات رایج مدیریت CancellationToken در عملیات async را در زمان کامپایل شناسایی و با کدفیکس‌های خودکار رفع می‌کند. این ابزار بر روی APIهای عمومی، هندلرها، کوئری‌های EF Core، فراخوانی‌های HTTP و Minimal APIs تمرکز دارد و از رسیدن توکن‌های گمشده – که منجر به هنگ‌های طولانی، هدررفت منابع و استثناهای OperationCanceledException می‌شود – به محیط تولید جلوگیری می‌نماید.
CancelCop.Analyzer با اسکن استاتیک کد در IDEهایی مانند Visual Studio، Rider و VS Code، و همچنین در فرآیندهای CI/CD، ۷ الگوی مشکل‌ساز (از CC001 تا CC006، شامل زیرقوانین CC005A/B/C) را تشخیص می‌دهد. این قوانین شامل الزامی کردن حضور CancellationToken در متدهای async عمومی (CC001)، انتشار توکن به فراخوانی‌های async مانند Task.Delay (CC002)، EF Core async (CC003)، HttpClient (CC004)، و هندلرهای MediatR/کنترلرها/Minimal APIs (CC005A/B/C) می‌شود. همچنین، CC006 به عنوان قاعده اطلاعاتی، موقعیت توکن را به عنوان آخرین پارامتر (کنوانسیون) بررسی می‌کند.


مشاهده مطلب اصلی