Тази статия основно подробно обяснява използването на заменения Autofac за реализиране на AOP прихващане в ASP.NET Core.
Аспектно-ориентираното програмиране (AOP) е гореща тема. Основната цел на AOP е да извлича повърхността cut-to-face в процеса на бизнес обработка, който преминава през определена стъпка или етап в процеса на обработка, за да се постигне изолиращият ефект на ниска свързаност между частите на логическия процес.
Въвеждане на библиотеки с класове
Командата nuget е следната:
Autofac се използва за реализиране на AOP
Първо създаваме клас за прихващане със следния код:
Тук трябва да наследите IInterceptor и след това да приложите неговия метод Intercept: Директно извеждаме прихванатото съдържание в прозореца за отстраняване на грешки (официален проект: Моля, оперирайте прихващането според бизнеса):
Тук използвам ILogger, за да запиша операцията, както следва:
Намерете услугите, които искаме да прихванем, TestService1 и TestService2, и го правим по два начина.
TestService1: Прихванат от функция
TestService2: Прихващане по конфигурация
Кодът е следният:
В метода за редактиране при стартиране ConfigureServices, блокирайте услугата TestService2, като я конфигурирате по следния начин:
Важният кодекс е следният:
Обърнете внимание, че трябва да го добавите след услугата, която инжектиратеEnableInterfaceInterceptorsда включиш прихващането си
Кодът на контролера е следният:
Стартирайте проекта чрез командата dotnet run, достъпете URL адреса и изходният лог на конзолата е следният:
Установихме, че стойността на връщането, прихваната от AOP, е същата като тази, върната на уеб страницата, така че сме завършили прихващането на AOP с Autofac.
(Край)
|