Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 26892|Відповідь: 0

[.NET Core] ASP.NET Core використовує Autofac для реалізації ін'єкції IOC

[Копіювати посилання]
Опубліковано 07.05.2019 16:32:23 | | | |
ASP.NET Ін'єкція залежностей ядра використовує контейнер IOC, що йде в комплекті
https://www.itsvse.com/thread-7562-1-1.html
(Джерело: Architect_Programmer)

ASP.NET Core використовує Autofac для реалізації ін'єкції IOC
https://www.itsvse.com/thread-7563-1-1.html
(Джерело: Architect_Programmer)

ASP.NET Core використовує Autofac для реалізації перехоплення AOP
https://www.itsvse.com/thread-7566-1-1.html
(Джерело: Architect_Programmer)

Контейнер IOC, що йде в комплекті з ASP.NET Core, легкий, і функцій небагато, лише базові.

У цій статті буде використано Autofac для пояснення як конструкторів, так і ін'єкції атрибутів.

Autofac — це чудовий контейнер для IoC для Microsoft .NET 4.5, Silverlight 5, додатків Windows Store та додатків Windows Phone 8. Він може керувати залежностями між класами, щоб додаток можна було легко змінювати у міру зростання масштабу та складності. Впровадити .

Версія проєкту для .NET Core: 2.1.301

Встановити Autofac.Extensions.DependencyInjection

Встановити через nuget за допомогою наступної команди:



Ми написали 3 інтерфейси та 3 класи реалізації неформально, а саме:



Ін'єкція конструктора контролера

Спершу змінимо код ConfigureServices у Startup наступним чином:

Примітка: Повернення значення ConfigureServices було змінено на IServiceProvider.

Код контролера:

Проведіть проєкт так, як показано нижче:



Ін'єкція атрибутів контролера Autofac

Змініть метод ConfigureServices у Startup наступним чином:

Код контролера:

Проведіть проєкт так, як показано нижче:



Ключові моменти, на які варто звернути увагу:

  • Послуги. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • ГромадськістьITestService1 _testService1 { get; декорація; }


Оскільки я на початку встановив інтерфейс сервісу на приватний, ін'єкція завжди нульова.

Ресурси:Вхід за гіперпосиланням видно.




Попередній:ASP.NET Ін'єкція залежностей ядра використовує контейнер IOC, що йде в комплекті
Наступний:ASP.NET Навчальний посібник з використання журналу Core ILogger
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com