Tento článok podrobne vysvetľuje použitie nahradeného Autofacu na implementáciu AOP zachytávania v ASP.NET Core.
Aspektovo orientované programovanie (AOP) je horúca téma. Hlavným účelom AOP je extrahovať povrch cut-to-face v obchodnom procese spracovania, ktorý je konfrontovaný s určitým krokom alebo fázou spracovania, aby sa dosiahol izolačný efekt nízkeho prepojenia medzi časťami logického procesu.
Zaveďte knižnice tried
Príkaz nuget je nasledovný:
Autofac sa používa na implementáciu AOP
Najprv vytvoríme intercept triedu s nasledujúcim kódom:
Tu je potrebné zdediť IInterceptor a potom implementovať jeho metódu Intercept: Zachytený obsah priamo vypisujeme do debug okna (oficiálny projekt: Prosím, prevádzkujte odpočúvanie podľa pokynov podniku):
Tu používam ILogger na zaznamenanie operácie, nasledovne:
Nájdite služby, ktoré chceme zachytiť, TestService1 a TestService2, a robíme to dvoma spôsobmi.
TestService1: Zachytený funkciou
TestService2: Intercept podľa konfigurácie
Kód je nasledovný:
V metóde úpravy pri štartovaní ConfigureServices zablokujte službu TestService2 tak, že ju nakonfigurujete nasledovne:
Dôležitý kód je nasledovný:
Všimnite si, že ho musíte pridať po službe, ktorú injektujeteEnableInterfaceInterceptorsaby som zapnul svoj interception
Kód ovládača je nasledovný:
Spustite projekt pomocou príkazu dotnet run, pristupujte k URL a výstupný záznam konzoly je nasledovný:
Zistili sme, že hodnota návratu zachytená AOP je rovnaká ako tá vrátená na webovej stránke, takže sme dokončili zachytenie AOP pomocou Autofac.
(Koniec)
|