Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 80854|Svar: 10

[.NET Core] ASP.NET Core använder Autofac för att implementera AOP-avlyssning

[Kopiera länk]
Publicerad på 2019-05-08 15:09:15 | | | |
ASP.NET Core dependency injection använder IOC-containern som följer med
https://www.itsvse.com/thread-7562-1-1.html
(Källa: Architect_Programmer)

ASP.NET Core använder Autofac för att implementera IOC-injektion
https://www.itsvse.com/thread-7563-1-1.html
(Källa: Architect_Programmer)

ASP.NET Core använder Autofac för att implementera AOP-avlyssning
https://www.itsvse.com/thread-7566-1-1.html
(Källa: Architect_Programmer)

Denna artikel förklarar främst i detalj användningen av den ersatta Autofac för att implementera AOP-avlyssning i ASP.NET Core.

Aspektorienterad programmering (AOP) är ett hett ämne. Huvudsyftet med AOP är att extrahera snitt-till-ansikte-ytan i affärsprocessen, som möts med ett visst steg eller steg i bearbetningsprocessen för att uppnå isoleringseffekten av låg koppling mellan delarna av logikprocessen.

Introducera klassbibliotek

Nuget-kommandot är följande:


Autofac används för att implementera AOP

Först skapar vi en interceptklass med följande kod:

Här behöver du ärva IInterceptor och sedan implementera dess Intercept-metod: Vi skickar direkt ut det avlyssnade innehållet till felsökningsfönstret (officiellt projekt: Vänligen genomför avlyssningen enligt verksamheten):

Här använder jag ILogger för att spela in operationen, enligt följande:

ASP.NET Core ILogger logganvändningshandledning
https://www.itsvse.com/thread-7565-1-1.html
(Källa: Architect_Programmer)

Hitta de tjänster vi vill avlyssna, TestService1 och TestService2, och vi gör det på två sätt.

TestService1: Avlyssnad av en funktion
TestService2: Intercept per konfiguration

Koden är följande:

I Startup-redigeringsmetoden ConfigureServices, blockera TestService2-tjänsten genom att konfigurera den enligt följande:

Den viktiga koden är följande:

Observera här att du måste lägga till den efter tjänsten du injicerarEnableInterfaceInterceptorsSlå på din interception

Kontrollkoden är följande:

Starta projektet via dotnet run-kommandot, gå åt URL:en, och konsolens utdatalogg är följande:



Vi fann att returvärdet som avlyssnas av AOP är detsamma som det som returnerades till webbsidan, så vi har slutfört AOP-avlyssning med Autofac.

(Slut)




Föregående:ASP.NET Core ILogger logganvändningshandledning
Nästa:Django Enterprise Development Praktisk guide till effektivt Python Web Framework Författare Hu Yang
Publicerad på 2019-05-09 08:18:56 |
Det är bäst att ha källkoden till instansen
 Hyresvärd| Publicerad på 2019-05-09 09:11:27 |
Sommaren publicerad den 2019-5-9 08:18
Det är bäst att ha källkoden till instansen

Projektet innehåller känslig information, så jag skickar inte in den, och handledningen är redan mycket detaljerad
Publicerad på 2019-05-09 11:15:17 |
Publicerad på 2019-05-14 16:39:00 |
Lärde mig,
Publicerad på 2021-11-22 14:24:55 |
Lär dig AOP
Publicerad på 2021-12-17 14:20:20 |
Tack för att du delade med dig, låt oss lära oss
Publicerad på 2021-12-17 14:21:41 |
Finns det någon ram för att detta ska kunna implementeras? Skriver ägaren sin egen kod? Vad annars är ett högkvalitativt svar...
Publicerad på 2021-12-24 16:23:00 |
Det är så härligt att skriva, lärde jag mig
Publicerad på 2022-01-10 11:12:24 |
Lär dig att lära dig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com