Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 26892|Atsakyti: 0

[.NET branduolys] "ASP.NET Core" naudoja "Autofac" IOC injekcijai įgyvendinti

[Kopijuoti nuorodą]
Paskelbta 2019-05-07 16:32:23 | | | |
ASP.NET Core priklausomybės injekcija naudoja kartu su juo pateiktą IOC konteinerį
https://www.itsvse.com/thread-7562-1-1.html
(Šaltinis: Architect_Programmer)

"ASP.NET Core" naudoja "Autofac" IOC injekcijai įgyvendinti
https://www.itsvse.com/thread-7563-1-1.html
(Šaltinis: Architect_Programmer)

ASP.NET Core naudoja Autofac AOP perėmimui įgyvendinti
https://www.itsvse.com/thread-7566-1-1.html
(Šaltinis: Architect_Programmer)

IOC konteineris, pateikiamas su ASP.NET Core, yra lengvas, o funkcijų nėra daug, o tik pagrindinės funkcijos.

Šiame straipsnyje bus naudojamas Autofac, kad paaiškintų tiek konstruktorius, tiek atributų injekciją.

"Autofac" yra nuostabus daiktų interneto konteineris, skirtas "Microsoft .NET 4.5", "Silverlight 5", "Windows Store" programoms ir "Windows Phone 8" programoms. Jis gali valdyti priklausomybes tarp klasių, kad programą būtų galima lengvai modifikuoti didėjant mastui ir sudėtingumui. Įgyvendinkite .

.NET Core projekto versija yra: 2.1.301

Įdiekite Autofac.Extensions.DependencyInjection

Įdiekite naudodami nuget naudodami šią komandą:



Mes parašėme 3 sąsajas ir 3 diegimo klases atsitiktinai, taip:



Valdiklio konstruktoriaus įpurškimas

Pirmiausia pakeiskime "ConfigureServices" kodą paleistije taip:

Pastaba: Grąžinama ConfigureServices reikšmė pakeista į IServiceProvider.

Kontrolieriaus kodas:

Vykdykite projektą, kaip parodyta toliau:



Valdiklio Autofac atributų injekcija

Paleisties metu pakeiskite "ConfigureServices" metodą taip:

Kontrolieriaus kodas:

Vykdykite projektą, kaip parodyta toliau:



Pagrindiniai dalykai, į kuriuos reikia atkreipti dėmesį:

  • paslaugų. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • ViešasITestService1 _testService1 { gauti; rinkinys; }


Kadangi pradžioje nustatiau paslaugos sąsają į privačią, injekcija visada yra nulinė.

Išteklių:Hipersaito prisijungimas matomas.




Ankstesnis:ASP.NET Core priklausomybės injekcija naudoja kartu su juo pateiktą IOC konteinerį
Kitą:ASP.NET "Core ILogger" žurnalo naudojimo pamoka
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com