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

Вид: 80854|Ответ: 10

[.NET Core] ASP.NET Core использует Autofac для реализации перехвата AOP

[Скопировать ссылку]
Опубликовано 08.05.2019 15:09:15 | | | |
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)

В этой статье подробно объясняется использование заменённого Autofac для реализации перехвата AOP в ASP.NET Core.

Аспектно-ориентированное программирование (AOP) — очень актуальная тема. Основная цель AOP — извлечь поверхность с лицом в процессе бизнес-обработки, который проходит определённый этап или этап процесса, чтобы получить эффект изоляции низкой связи между частями логического процесса.

Введение библиотек классов

Команда nuget выглядит следующим образом:


Autofac используется для реализации AOP

Сначала создаём класс перехвата со следующим кодом:

Здесь нужно унаследовать IInterceptor и затем реализовать его метод Intercept: Мы напрямую выводим перехваченный контент в окно отладки (официальный проект: Пожалуйста, проведите перехват в соответствии с требованиями бизнеса):

Здесь я использую ILogger для записи операции, следующим образом:

ASP.NET Обучающее руководство по использованию журнала ILogger Core
https://www.itsvse.com/thread-7565-1-1.html
(Источник: Architect_Programmer)

Найдите сервисы, которые мы хотим перехватить — TestService1 и TestService2, и мы делаем это двумя способами.

TestService1: Перехвачен объектом
TestService2: Перехват по конфигурации

Код таков:

В методе редактирования при запуске ConfigureServices заблокируйте сервис TestService2, настроив его следующим образом:

Важный кодекс следующий:

Обратите внимание, что его нужно добавить после сервиса, который вы инъекционируетеEnableInterfaceInterceptorsвключить перехват

Код контроллера следующий:

Запустите проект с помощью команды dotnet run, получите доступ к URL, и журнал вывода консоли выглядит следующим образом:



Мы обнаружили, что возвратное значение, перехваченное AOP, совпадает с тем, что возвращается на веб-страницу, поэтому мы завершили перехват AOP с Autofac.

(Конец)




Предыдущий:ASP.NET Обучающее руководство по использованию журнала ILogger Core
Следующий:Практическое руководство по развитию корпоративного направления Django по эффективному веб-фреймворку на Python Автор Ху Ян
Опубликовано 09.05.2019 8:18:56 |
Лучше иметь исходный код экземпляра
 Хозяин| Опубликовано 09.05.2019 9:11:27 |
Лето Опубликовано 9.05.2019 08:18
Лучше иметь исходный код экземпляра

Проект содержит конфиденциальную информацию, поэтому я не буду её отправлять, а туториал уже очень подробный
Опубликовано 09.05.2019 11:15:17 |
Опубликовано 14.05.2019 16:39:00 |
Научился,
Опубликовано 22.11.2021 14:24:55 |
Изучайте AOP
Опубликовано 17.12.2021 14:20:20 |
Спасибо, что поделились, давайте учиться
Опубликовано 17.12.2021 14:21:41 |
Существует ли какая-то структура для реализации этого? Владелец пишет свой собственный код? Что ещё может быть качественным откликом...
Опубликовано 24.12.2021 16:23:00 |
Писать так приятно, я поняла
Опубликовано 10.01.2022 11:12:24 |
Учитесь учиться
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com