Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 413|Svar: 0

[Tips] .NET/C# dependency injection service registration Scrutor-værktøj

[Kopier link]
Opslået den 2025-9-4 09:37:00 | | |
Krav: Når projektet er relativt stort, og skrivesyntaksen er meget standardiseret, skal vi manuelt tilføje et interface i IServiceCollection-containeren, så interfacet kan injiceres i konstruktøren. Scrutor-værktøjet er meget praktisk for os at tilføje automatisk i henhold til vores regelkonfiguration.

Scrutor

Microsoft.Extensions.DependencyInjection til assembly-scanning og dekorering af udvidelser.

Kildekodeadresse:Hyperlink-login er synlig.

anmeldelse

Når man ser tilbage på serviceregistreringen, er de tre måder at indsprøjte singleton på som følger:

Tjenesteregistrering

Lad os sige, at du har en kodestruktur som denne:

Grænsefladedefinitioner
offentlig grænseflade IUserService { }
public interface IOrderService { }

Implementeringsklasse
public class UserService : IUserService { }
offentlig klasse OrderService : IOrderService { }

før

Registrering kræves én ad gangen, og koden er som følger:

Eller skriv din egen metode og registrer den gennem refleksion (Faktisk er Scrutor også gennem refleksion), som følger:

derefter

Scrutor gør det meget bekvemt at registrere samlinger, især til automatisk registrering af flere serviceklasser (f.eks. UserService registreret som IUserService). Pakkeafhængighederne er som følger:

Koden er som følger:

Fortolkning:
  • . FromAssemblyOf<UserService>(): Specificerer samlingen, der skal scannes.
  • . AddClasses(): Scanner alle klasser i assembly-sættet.
  • . AsImplementInterfaces(): Registrerer automatisk grænseflader for disse klasser, efterhånden som de implementeres.
  • . WithScopedLifetime(): Sæt levetiden til Scoped, som også kan være WithTransientLifetime() eller WithSingletonLifetime().

(Slut)




Tidligere:.NET/C# konverterer PDF'er til billeder baseret på ImageMagick, GhostScript
Næste:Alibaba Cloud monterer OSS i Linux-systemmappen
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com