در بعضی از شرایط
پیش رفته، ممکن است نمونه سازی از یک Implementation Type ، نیاز به دخالت مستقیم ما را
داشته باشد. Implementation Factory کنترل بیشتری بر چگونگی استفادهی از Implementation Type ها را به ما ارائه میدهد. در هنگام ثبت سرویسی که Implementation Factory را در اختیار ما قرار میدهد، ما
یک Delegate را برای
فراخوانی سرویس استفاده میکنیم ...
در بخش پنجم از سری نوشتار « تزریق وابستگیها در ASP.NET Core »، میخواهیم به شرح کلاس ServiceDescriptor بپردازیم. اگر تعریف اینترفیس IServiceCollection را
مشاهده کنیم، میبینیم که IServicecollection در
واقع لیستی از اشیائی از نوع ServiceDescriptor را نگهداری میکند: namespace Microsoft.Extensions.DependencyInjection
{
public interface IServiceCollection :
ICollection&l ...
در قسمتهای قبلی این سری، به ترتیب ابتدا در مورد مبحث تزریق وابستگیها صبحت کردیم، بعد اولین سرویسمان را در ASP.NET Core ثبت و واکشی کردیم. در بخش سوم، تنظیمات را درون سامانه، ثبت و استفاده کردیم و حالا در این بخش میخواهیم به مبحث طول حیات سرویسها بپردازیم. همانطور که گفتیم، وظیفهی DI Container، ایجاد یک نمونه از سرویس درخواست شده، تزریق آن به کلاس درخواست دهنده و در انتها از بین بردن یا Dispose شیء ایجاد شده از سرویس ثبت شدهاست ...
یک پروژهی ASP.NET Core را با قرار دادن نسخهی NET Core. بر روی 3.1 و با استفاده از قالب Model View Controller ایجاد کنید. در اینجا نام پروژه را AspNetCoreDependencyInjection گذاشتهام. حالا در پوشهی Models، فایلی را با نام HomeViewModel.cs با محتویاتی به صورت زیر اضافه کنید: public class HomeViewModel
{
public string Id { get; set; }
public string Message { get; set; }
public DateTime DateTime { get; set; } ...
مقدمه
زمانیکه یک برنامه را بر پایهی شیء گرایی طراحی میکنید و مینویسید، به صورت معمول جریان وابستگیها در برنامهی شما به صورت زیر است:
در این حالت برای کامپایل شدن برنامه نیاز است که فرآیند کامپایل از دورترین کلاس و متد شروع شود. همانطور که میبینید در اینجا هر کلاس به تمام زیر کلاسهای خود وابسته است و هر تغییر در هر کدام از کلاسهای خدمتگزار میتواند تاثیرات مستقیمی بر روی سایر ...