See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 413|Vastuse: 0

[Nõuanded] .NET/C# sõltuvuse süstimise teenuse registreerimine Scrutor tööriist

[Kopeeri link]
Postitatud 2025-9-4 09:37:00 | | |
Nõuded: Kui projekt on suhteliselt suur ja kirjutamissüntaks väga standardiseeritud, tuleb liidese lisamisel see käsitsi lisada IServiceCollection konteinerisse, et liides saaks konstruktorisse süstida. Scrutori tööriist on meie jaoks väga mugav, et lisada automaatselt vastavalt reeglite konfiguratsioonile.

Scrutor

Microsoft.Extensions.DependencyInjection laienduste kokkupaneku skaneerimise ja kaunistamise jaoks.

Lähtekoodi aadress:Hüperlingi sisselogimine on nähtav.

Läbivaatamine

Tagasi vaadates teenuse registreerimisele, on singleton-süstimise kolm viisi järgmised:

Teenistuse registreerimine

Oletame, et sul on selline koodistruktuur:

Liidese definitsioonid
public interface IUserService { }
public interface IOrderService { }

Rakendusklass
public class UserService : IUserService { }
public class OrderService : IOrderService { }

Enne

Registreerimine on vajalik ükshaaval ning kood on järgmine:

Või kirjuta oma meetod ja registreeri see läbi refleksiooni (Tegelikult on Scrutor ka läbi refleksiooni), järgmiselt:

Hiljem

Scrutor teeb assembleride skaneerimise väga mugavaks, eriti mitme teenuseklassi automaatseks registreerimiseks (nt UserService registreeritud kui IUserService). Pakettide sõltuvused on järgmised:

Kood on järgmine:

Tõlgendamine:
  • . FromAssemblyOf<UserService>(): Määrab skaneeritava assamblee.
  • . AddClasses(): Skaneerib kõiki komplektkomplekti klasse.
  • . AsImplementedInterfaces(): Registreerib automaatselt nende klasside liidesed, kui need rakendatakse.
  • . WithScopedLifetime(): Sea elueaks Scoped, mis võib olla ka WithTransientLifetime() või WithSingletonLifetime().

(Lõpp)




Eelmine:.NET/C# teisendab PDF-id piltideks, tuginedes ImageMagickile, GhostScriptile
Järgmine:Alibaba Cloud ühendab OSS-i Linuxi süsteemikataloogiga
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com