C# Friends
120 subscribers
58 photos
4 videos
29 files
72 links
C#, Asp.Net Core, Blazor & Architecture
Guids, Experiences, Tutorials, News and Codes.
Github: saeedrezayi/mrgrayhat
Contact me: @mrgrayhat
Download Telegram
#DI #AspCore #DependencyInjection #DesignPattern #LooselyCoupled
#LifeTime #تزریق_وابستگی

AddTransient :
در این طول عمر، هر بار که یک سرویس/کلاس درخواست شود یک نمونه جدید ایجاد خواهد شد.
این یعنی، شما میتوانید نمونه های مختلفی از همان کلاس را در همان گراف
وابستگی داشته باشید.

AddScoped :
در این طول عمر، به ازای هر درخواست HTTP یک نمونه از سرویس ایجاد
و در پایان کار درخواست از حافظه حذف میشود.
مانند DbContext انتیتی فریمورک.
AddSingleton :
در این طول عمر، شما در طول کل حیات اپلیکیشن تنها یک نمونه از سرویس
را دریافت خواهید کرد. بدین صورت که کلاس تنها یک بار ایجاد و در مراجعات بعدی از همان استفاده خواهد شد.
این حالت مشابه کلاس های استاتیکه و معمولا برای سرویس هایی که هزینه نمونه سازی مجدد و پاکسازی حافظه در اونها زیاده، و یا نیاز به نگهداری حافظه متغیر هاست به کار میره.
مانند HttpContextAccessor