Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 413|Odpoveď: 0

[Tipy] .NET/C# nástroj na registráciu služieb injekcie závislostí Scrutor

[Kopírovať odkaz]
Zverejnené 2025-9-4 09:37:00 | | |
Požiadavky: Keď je projekt relatívne veľký a syntax písania je veľmi štandardizovaná, pri pridávaní rozhrania ho musíme manuálne pridať do kontajnera IServiceCollection, aby sa rozhranie dalo injektovať do konštruktora. Nástroj Scrutor je pre nás veľmi pohodlný na automatické pridávanie podľa našej konfigurácie pravidiel.

Scrutor

Microsoft.Extensions.DependencyInjection pre rozšírenia assembly skenovania a dekorovania.

Adresa zdrojového kódu:Prihlásenie na hypertextový odkaz je viditeľné.

revízia

Keď sa pozrieme späť na registráciu služby, tri spôsoby jednorazovej injekcie sú nasledovné:

Registrácia služby

Povedzme, že máte štruktúru kódu ako táto:

Definície rozhraní
public interface IUserService { }
public interface IOrderService { }

Implementačná trieda
public class UserService : IUserService { }
public class OrderService : IOrderService { }

pred

Registrácia je potrebná jednotlivo a kód je nasledovný:

Alebo napíšte vlastnú metódu a zaregistrujte ju reflexiou (V skutočnosti je Scrutor aj reflexiou), nasledovne:

potom

Scrutor veľmi pohodlne umožňuje skenovanie asemblí, najmä pri automatickej registrácii viacerých tried služieb (napr. UserService registrovaný ako IUserService). Závislosti balíkov sú nasledovné:

Kód je nasledovný:

Interpretácia:
  • . FromAssemblyOf<UserService>(): Špecifikuje zostavu na skenovanie.
  • . AddClasses(): Skenuje všetky triedy v assemblerovej množine.
  • . AsImplementedInterfaces(): Automaticky registruje rozhrania pre tieto triedy, ako sú implementované.
  • . WithScopedLifetime(): Nastavte lifetime na Scoped, čo môže byť aj WithTransientLifetime() alebo WithSingletonLifetime().

(Koniec)




Predchádzajúci:.NET/C# konvertuje PDF súbory na obrázky založené na ImageMagick, GhostScript
Budúci:Alibaba Cloud pripája OSS do systémového adresára Linuxu
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com