Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 413|Vastaus: 0

[Vinkkejä] .NET/C# riippuvuuden injektiointipalvelun rekisteröinti Scrutor-työkalu

[Kopioi linkki]
Julkaistu 2025-9-4 09:37:00 | | |
Vaatimukset: Kun projekti on suhteellisen suuri ja kirjoitussyntaksi hyvin standardoitu, kun lisäämme rajapinnan, meidän täytyy lisätä se manuaalisesti IServiceCollection-konttiin, jotta rajapinta voidaan injektoida konstruktoriin. Scrutor-työkalu on meille erittäin kätevä lisätä automaattisesti sääntömäärityksemme mukaan.

Scrutor

Microsoft.Extensions.DependencyInjection laajennusten assembly-skannaukseen ja koristeluun.

Lähdekoodin osoite:Hyperlinkin kirjautuminen on näkyvissä.

arvostelu

Kun katsotaan palvelurekisteröintiä taaksepäin, yksittäisen injektion kolme tapaa ovat seuraavat:

Palvelusrekisteröinti

Oletetaan, että sinulla on tällainen koodirakenne:

Rajapinnan määritelmät
public interface IUserService { }
public interface IOrderService { }

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

ennen

Rekisteröityminen vaaditaan yksi kerrallaan, ja koodi on seuraava:

Tai kirjoita oma menetelmäsi ja rekisteröi se reflektion kautta (Itse asiassa Scrutor on myös pohdinnan kautta), seuraavasti:

jälkeenpäin

Scrutor tekee kokoonpanojen skannauksen rekisteröinnistä erittäin kätevää, erityisesti useiden palveluluokkien automaattisessa rekisteröinnissä (esim. UserService, joka on rekisteröity nimellä IUserService). Pakettiriippuvuudet ovat seuraavat:

Koodi on seuraava:

Tulkinta:
  • . <UserService>FromAssemblyOf(): Määrittää skannattavan assemblyn.
  • . AddClasses(): Skannaa kaikki luokat assembly-joukossa.
  • . AsImplementedInterfaces(): Rekisteröi automaattisesti rajapinnat näille luokille niiden toteutuksen yhteydessä.
  • . WithScopedLifetime(): Aseta elinkaareksi Scoped, joka voi olla myös WithTransientLifetime() tai WithSingletonLifetime().

(Loppu)




Edellinen:.NET/C# muuntaa PDF-tiedostot kuviksi ImageMagickin ja GhostScriptin pohjalta
Seuraava:Alibaba Cloud liittää OSS:n Linux-järjestelmähakemistoon
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com