Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 413|Odpověď: 0

[Tipy] Nástroj pro registraci služeb injekce závislostí .NET/C# Scrutor

[Kopírovat odkaz]
Zveřejněno 4. 9. 2025 09:37:00 | | |
Požadavky: Když je projekt relativně velký a syntaxe psaní je velmi standardizovaná, při přidání rozhraní je potřeba ho ručně přidat do kontejneru IServiceCollection, aby bylo možné rozhraní injektovat do konstruktoru. Nástroj Scrutor je pro nás velmi pohodlný pro automatické přidávání podle naší konfigurace pravidel.

Scrutor

Microsoft.Extensions.DependencyInjection pro rozšíření pro assembler, skenování a dekorování.

Adresa zdrojového kódu:Přihlášení k hypertextovému odkazu je viditelné.

přezkoumání

Při pohledu zpět na registraci služby jsou tři způsoby injekce jednotlivých služeb následující:

Registrace služby

Řekněme, že máte strukturu kódu jako je tato:

Definice rozhraní
public interface IUserService { }
public interface IOrderService { }

Implementační třída
public class UserService : IUserService { }
public class OrderService : IOrderService { }

před

Registrace je vyžadována postupně a kód je následující:

Nebo napište vlastní metodu a zaregistrujte ji reflexí (Ve skutečnosti je Scrutor také skrze reflexi), a to následovně:

poté

Scrutor velmi usnadňuje skenování registrů assemblerů, zejména pro automatickou registraci více tříd služeb (např. UserService registrovaný jako IUserService). Závislosti balíčků jsou následující:

Kód je následující:

Interpretace:
  • . FromAssemblyOf<UserService>(): Specifikuje assembler, který má být skenován.
  • . AddClasses(): Skenuje všechny třídy v assembleru.
  • . AsImplementedInterfaces(): Automaticky registruje rozhraní pro tyto třídy při jejich implementaci.
  • . WithScopedLifetime(): Nastavte lifetime na Scoped, což může být také WithTransientLifetime() nebo WithSingletonLifetime().

(Konec)




Předchozí:.NET/C# převádí PDF na obrázky založené na ImageMagick, GhostScript
Další:Alibaba Cloud připojuje OSS do systémového adresáře Linuxu
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com