Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 80854|Отговор: 10

[.NET Core] ASP.NET Core използва Autofac за реализиране на AOP прихващане

[Копирай линк]
Публикувано в 8.05.2019 г. 15:09:15 ч. | | | |
ASP.NET Core dependency injection използва 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 е да извлича повърхността cut-to-face в процеса на бизнес обработка, който преминава през определена стъпка или етап в процеса на обработка, за да се постигне изолиращият ефект на ниска свързаност между частите на логическия процес.

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

Командата nuget е следната:


Autofac се използва за реализиране на AOP

Първо създаваме клас за прихващане със следния код:

Тук трябва да наследите IInterceptor и след това да приложите неговия метод Intercept: Директно извеждаме прихванатото съдържание в прозореца за отстраняване на грешки (официален проект: Моля, оперирайте прихващането според бизнеса):

Тук използвам ILogger, за да запиша операцията, както следва:

ASP.NET Урок за използване на логове на Core ILogger
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 Урок за използване на логове на Core ILogger
Следващ:Django Enterprise Development Практическо ръководство за ефективна Python уеб рамка Автор Ху Янг
Публикувано в 9.05.2019 г. 8:18:56 ч. |
Най-добре е да имате изходния код на инстанцията
 Хазяин| Публикувано в 9.05.2019 г. 9:11:27 ч. |
Лято Публикувано на 2019-5-9 08:18
Най-добре е да имате изходния код на инстанцията

Проектът съдържа чувствителна информация, затова няма да я изпращам, а урокът вече е много подробен
Публикувано в 9.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