راهنمای استفاده از خدمات Scoped در داخل Singletons

عکس پروفایل نویسنده

@گل میناسام والپول

توسعه دهنده وب Fullstack .NET و JavaScript. مدرس و مدافع کدگذاری

من می خواهم این بحث را با بیان اینکه تلاش برای استفاده از سرویس های محدود در داخل مجردها (یا استفاده از هر سرویس کوتاه مدت دیگر در داخل یک سرویس با عمر طولانی تر برای این موضوع!) مقدمه ارائه دهم ، به طور کلی فکر بدی است. یک دلیل وجود دارد که چرا بیشتر ظروف تزریق وابستگی (DI) سعی می کنند شما را از انجام این کار باز دارند. تلاش برای استفاده از سرویس های محدود در محدوده مجلات می تواند منجر به آنچه وابسته به اسیر می شود ، شود که باعث انواع اشکالات ناخوشایند و نشت حافظه می شود.

اگر در موقعیتی قرار گرفتید که می خواهید یک سرویس محدود را به یک واحد تزریق کنید ، این به طور کلی بوی کد است و باید برای جلوگیری از این وابستگی ، به طور جدی به فکر اصلاح مجدد خدمات خود باشید.

با این وجود ، بعضی اوقات دلایل موجهی برای استفاده از سرویس های محدود در داخل مجلات وجود دارد. اگر فکر می کنید این مورد در مورد استفاده شما درست است ، لطفاً ادامه مطلب را بخوانید.

مقدمه

آیا تابحال تزریق سرویسی به سرویس دیگری را امتحان کرده اید ، اما این استثنا را پیدا کنید؟:

InvalidOperationException: Cannot resolve scoped service 'IMyScopedService' from root provider.

در این صورت ، این نشانگر خوبی است که شما می خواهید یک سرویس محدود را به یک سرویس Singleton تزریق کنید. این استثنا به نظر می رسد زیرا …

سئو PBN | خبر های جدید سئو و هک و سرور