Junior — Middle
Kā tiek noteikts objekta pastāvēšanas laiks pēc tā ieviešanas caur Dependency Injection mehānismu?
sobes.tech AI
Atbilde no AI
Dependency Injection (DI) palīdzības izveidotā objekta dzīves ilgums tiek noteikts pēc dzīves ilguma (lifetime), kas tiek iestatīts, reģistrējot pakalpojumu DI konteinerā. C# (piemēram, ASP.NET Core) ir trīs galvenie dzīves ilguma veidi:
- Transient — jauns eksemplārs tiek izveidots katru reizi, kad tiek pieprasīts pakalpojums.
- Scoped — viens eksemplārs tiek izveidots katram apgabalam (piemēram, HTTP pieprasījumam) un tiek izmantots šajā apgabalā.
- Singleton — viens eksemplārs tiek izveidots pirmajā pieprasījumā un pastāv līdz programmas beigām.
Reģistrācijas piemērs:
services.AddTransient<IMyService, MyService>();
services.AddScoped<IMyService, MyService>();
services.AddSingleton<IMyService, MyService>();
Tādējādi objekta dzīves ilgums ir atkarīgs no izvēlētā dzīves ilguma reģistrācijas laikā DI konteinerā.