Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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 Обучающее руководство по использованию журнала ILogger Core
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com