Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 413|Odgovoriti: 0

[Napitnine] .NET/C# orodje za registracijo storitev za vbrizgavanje odvisnosti Scrutor

[Kopiraj povezavo]
Objavljeno 2025-9-4 09:37:00 | | |
Zahteve: Ko je projekt razmeroma velik in je sintaksa pisanja zelo standardizirana, ga moramo ob dodajanju vmesnika ročno dodati v kontejner IServiceCollection, da se vmesnik lahko vbrizga v konstruktor. Orodje Scrutor nam je zelo priročno, da samodejno dodajamo glede na našo konfiguracijo pravil.

Scrutor

Microsoft.Extensions.DependencyInjection za razširitve za asembler, skeniranje in dekoracijo.

Naslov izvorne kode:Prijava do hiperpovezave je vidna.

pregled

Če pogledamo nazaj na registracijo storitve, so trije načini enojnega vbrizgavanja naslednji:

Registracija službe

Recimo, da imate takšno strukturo kode:

Definicije vmesnikov
public interface IUserService { }
public interface IOrderService { }

Razred implementacije
public class UserService : IUserService { }
public class OrderService : IOrderService { }

pred

Registracija je potrebna posamezno, koda pa je naslednja:

Ali pa napiši svojo metodo in jo zabeleži skozi refleksijo (Pravzaprav je Scrutor tudi skozi refleksijo), kot sledi:

potem

Scrutor omogoča zelo priročno skeniranje registrskih sklopov, zlasti za samodejno registracijo več razredov storitev (npr. UserService registriran kot IUserService). Odvisnosti paketov so naslednje:

Koda je naslednja:

Razlago:
  • . FromAssemblyOf<UserService>(): Določa sestavo, ki jo je treba skenirati.
  • . AddClasses(): Skenira vse razrede v asemblerskem naboru.
  • . AsImplementedInterfaces(): Samodejno registrira vmesnike za te razrede, ko so implementirani.
  • . WithScopedLifetime(): Nastavi življenjski čas na Scoped, kar je lahko tudi WithTransientLifetime() ali WithSingletonLifetime().

(Konec)




Prejšnji:.NET/C# pretvarja PDF-je v slike na osnovi ImageMagick, GhostScript
Naslednji:Alibaba Cloud namesti OSS v sistemski imenik Linux
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com