Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 413|Atsakyti: 0

[Patarimai] .NET/C# priklausomybės injekcijos paslaugos registracija Scrutor įrankis

[Kopijuoti nuorodą]
Publikuota: 2025-9-4 09:37:00 | | |
Reikalavimai: Kai projektas yra gana didelis, o rašymo sintaksė yra labai standartizuota, kai pridedame sąsają, turime rankiniu būdu ją įtraukti į IServiceCollection konteinerį, kad sąsają būtų galima įterpti į konstruktorių. "Scrutor" įrankį mums labai patogu pridėti automatiškai pagal mūsų taisyklių konfigūraciją.

Skrutoras

Microsoft.Extensions.DependencyInjection, skirta surinkimui, nuskaitymui ir dekoravimui, plėtiniams.

Šaltinio kodo adresas:Hipersaito prisijungimas matomas.

Peržiūra

Žvelgiant atgal į paslaugos registraciją, trys vieno įpurškimo būdai yra šie:

Paslaugos registracija

Tarkime, kad jūsų kodo struktūra yra tokia:

Sąsajos apibrėžimai
viešoji sąsaja IUserService { }
viešoji sąsaja IOrderService { }

Diegimo klasė
viešoji klasė UserService : IUserService { }
viešoji klasė OrderService : IOrderService { }

be

Registracija reikalinga po vieną, o kodas yra toks:

Arba parašykite savo metodą ir užregistruokite jį apmąstydami (Tiesą sakant, Scrutor taip pat yra per refleksiją), išdėstytos toliau:

paskui

"Scrutor" leidžia labai patogiai registruoti agregatų nuskaitymą, ypač norint automatiškai užregistruoti kelias paslaugų klases (pvz., "UserService", užregistruotą kaip "IUserService"). Paketo priklausomybės yra šios:

Kodas yra toks:

Aiškinimas:
  • . FromAssemblyOf<UserService>(): nurodo nuskaitomą rinkinį.
  • . AddClasses(): nuskaito visas rinkinio klases.
  • . AsImplementedInterfaces(): automatiškai registruoja šių klasių sąsajas, kai jos yra įdiegtos.
  • . WithScopedLifetime(): nustatykite naudojimo trukmę į Scoped, kuri taip pat gali būti WithTransientLifetime() arba WithSingletonLifetime().

(Pabaiga)




Ankstesnis:.NET/C# konvertuoja PDF failus į vaizdus, pagrįstus ImageMagick, GhostScript
Kitą:"Alibaba Cloud" prijungia OSS prie "Linux" sistemos katalogo
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com