Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 413|Antwoord: 0

[Tips] .NET/C# afhankelijkheidsinjectieservice registratie Scrutor tool

[Link kopiëren]
Geplaatst op 2025-9-4 09:37:00 | | |
Eisen: Wanneer het project relatief groot is en de schrijfsyntaxis zeer gestandaardiseerd is, moeten we bij het toevoegen van een interface deze handmatig in de IServiceCollection-container plaatsen, zodat de interface in de constructor kan worden geïnjecteerd. De Scrutor tool is erg handig voor ons om automatisch toe te voegen volgens onze regelconfiguratie.

Scrutor

Microsoft.Extensions.DependencyInjection voor assembly-scannen en decoratie van extensies.

Broncode-adres:De hyperlink-login is zichtbaar.

recensie

Terugkijkend op de serviceregistratie zijn de drie manieren van singleton-injectie als volgt:

Dienstregistratie

Stel dat je een codestructuur hebt zoals deze:

Interfacedefinities
publieke interface IUserService { }
publieke interface IOrderService { }

Implementatieklasse
publieke klasse UserService : IUserService { }
publieke klasse OrderService : IOrderService { }

voor

Registratie is één voor één verplicht, en de code is als volgt:

Of schrijf je eigen methode en registreer die via reflectie (In feite is Scrutor ook door reflectie), als volgt:

achteraf

Scrutor maakt het zeer handig om assemblies te registreren, vooral voor het automatisch registreren van meerdere serviceklassen (bijvoorbeeld UserService geregistreerd als IUserService). De pakketafhankelijkheden zijn als volgt:

De code is als volgt:

Interpretatie:
  • . FromAssemblyOf<UserService>(): Specificeert de assemblage die gescand moet worden.
  • . AddClasses(): Scleicht alle klassen in de assemblyset.
  • . AsImplementInterfaces(): Registreert automatisch interfaces voor deze klassen zodra ze worden geïmplementeerd.
  • . WithScopedLifetime(): Stel de levensduur in op Scoped, wat ook WithTransientLifetime() of WithSingletonLifetime() kan zijn.

(Einde)




Vorig:.NET/C# zet PDF's om naar afbeeldingen gebaseerd op ImageMagick, GhostScript
Volgend:Alibaba Cloud mountt OSS in de Linux-systeemdirectory
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com