Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 413|Svar: 0

[Tips] .NET/C# beroendeinjektionstjänstregistrering Scrutor-verktyget

[Kopiera länk]
Publicerad den 2025-9-4 09:37:00 | | |
Krav: När projektet är relativt stort och skrivsyntaxen är mycket standardiserad, behöver vi manuellt lägga till ett gränssnitt i IServiceCollection-containern så att gränssnittet kan injiceras i konstruktorn. Scrutor-verktyget är väldigt bekvämt för oss att lägga till automatiskt enligt vår regelkonfiguration.

Scrutor

Microsoft.Extensions.DependencyInjection för samlingsskanning och dekorering av tillägg.

Källkodsadress:Inloggningen med hyperlänken är synlig.

recension

Om man ser tillbaka på serviceregistreringen är de tre sätten för singleton-injektion följande:

Tjänsteregistrering

Låt oss säga att du har en kodstruktur som denna:

Gränssnittsdefinitioner
publikt gränssnitt IUserService { }
publikt gränssnitt IOrderService { }

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

före

Registrering krävs en i taget, och koden är följande:

Eller skriv din egen metod och registrera den genom reflektion (Faktum är att Scrutor också är genom reflektion), enligt följande:

efteråt

Scrutor gör det mycket bekvämt att registrera assemblies-scanning, särskilt för att automatiskt registrera flera serviceklasser (t.ex. UserService registrerad som IUserService). Paketberoendena är följande:

Koden är följande:

Tolkning:
  • . FromAssemblyOf<UserService>(): Specificerar sammansättningen som ska skannas.
  • . AddClasses(): Skannar alla klasser i assembleruppsättningen.
  • . AsImplementInterfaces(): Registrerar automatiskt gränssnitt för dessa klasser när de implementeras.
  • . WithScopedLifetime(): Sätt livslängden till Scoped, vilket också kan vara WithTransientLifetime() eller WithSingletonLifetime().

(Slut)




Föregående:.NET/C# konverterar PDF:er till bilder baserade på ImageMagick, GhostScript
Nästa:Alibaba Cloud monterar OSS i Linux-systemkatalogen
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com