Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 80854|Resposta: 10

[.NET Core] ASP.NET Core usa o Autofac para implementar interceptação AOP

[Copiar link]
Publicado em 08/05/2019 15:09:15 | | | |
ASP.NET Injeção de Dependência Core usa o contêiner IOC que vem com ele
https://www.itsvse.com/thread-7562-1-1.html
(Fonte: Architect_Programmer)

ASP.NET Core usa Autofac para implementar a injeção de IOC
https://www.itsvse.com/thread-7563-1-1.html
(Fonte: Architect_Programmer)

ASP.NET Core usa o Autofac para implementar interceptação AOP
https://www.itsvse.com/thread-7566-1-1.html
(Fonte: Architect_Programmer)

Este artigo explica principalmente em detalhes o uso do Autofac substituído para implementar interceptação AOP em ASP.NET Core.

Programação Orientada a Aspectos (AOP) é um tema quente. O principal objetivo do AOP é extrair a superfície cortada até a face no processo de processamento empresarial, que enfrenta uma certa etapa ou etapa no processo de processamento para obter o efeito de isolamento de baixo acoplamento entre as partes do processo lógico.

Introdução das bibliotecas de classes

O comando nuget é o seguinte:


O Autofac é usado para implementar o AOP

Primeiro, criamos uma classe interceptação com o seguinte código:

Aqui, você precisa herdar o IInterceptor e então implementar seu método Intercept: Nós enviamos diretamente o conteúdo interceptado para a janela de depuração (projeto oficial: Por favor, operem a interceptação de acordo com o negócio):

Aqui uso o ILogger para registrar a operação, da seguinte forma:

ASP.NET Tutorial de Uso do Log Core do ILogger
https://www.itsvse.com/thread-7565-1-1.html
(Fonte: Architect_Programmer)

Encontre os serviços que queremos interceptar, TestService1 e TestService2, e fazemos isso de duas maneiras.

TestService1: Interceptado por uma característica
TestService2: Interceptação por configuração

O código é o seguinte:

No método de edição de inicialização ConfigureServices, bloqueie o serviço TestService2 configurando-o da seguinte forma:

O código importante é o seguinte:

Note aqui que você deve adicioná-la após o serviço que você injetaInterceptoresEnableInterfacepara ativar sua interceptação

O código do controlador é o seguinte:

Inicie o projeto pelo comando dotnet run, acesse a URL e o log de saída do console é o seguinte:



Descobrimos que o valor de retorno interceptado pelo AOP é o mesmo que retornou à página web, então concluímos a interceptação do AOP com o Autofac.

(Fim)




Anterior:ASP.NET Tutorial de Uso do Log Core do ILogger
Próximo:Django Guia Prático de Desenvolvimento Empresarial para Framework Web Python Eficiente Autor Hu Yang
Publicado em 09/05/2019 08:18:56 |
É melhor ter o código-fonte da instância
 Senhorio| Publicado em 09/05/2019 09:11:27 |
Verão Publicado em 2019-5-9 08:18
É melhor ter o código-fonte da instância

O projeto contém informações sensíveis, então não vou enviar, e o tutorial já é muito detalhado
Publicado em 09/05/2019 11:15:17 |
Publicado em 14/05/2019 16:39:00 |
Erudito,
Publicado em 22/11/2021 14:24:55 |
Aprenda AOP
Publicado em 17/12/2021 14:20:20 |
Obrigado por compartilhar, vamos aprender
Publicado em 17/12/2021 14:21:41 |
Existe algum framework para implementar isso? O dono escreve seu próprio código? O que mais é uma resposta de alta qualidade...
Publicado em 24/12/2021 16:23:00 |
É tão bom escrever, aprendi
Publicado em 10/01/2022 11:12:24 |
Aprenda a aprender
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com