CodeShot
Midسختی 3 از ۵· در 75٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت IHostedService و BackgroundService چیست؟

نشان کردن

پاسخ کوتاه

BackgroundService یک پیاده‌سازی آماده از IHostedService است و تنها نیاز به پیاده‌سازی ExecuteAsync دارد؛ IHostedService کنترل بیشتری با StartAsync/StopAsync مستقیم می‌دهد.

پاسخ کامل

برای اکثر سناریوها ارث‌بری از BackgroundService کافی و ساده‌تر است؛ فقط زمانی که کنترل دقیق‌تری روی لحظه Start/Stop لازم باشد، پیاده‌سازی مستقیم IHostedService معنا پیدا می‌کند.