0% acharam este documento útil (0 voto)
3 visualizações14 páginas

Middle Ware

Os Middlewares no .NET são componentes que processam solicitações HTTP em um aplicativo ASP.NET Core, permitindo manipulação e transformação de requisições e respostas. Métodos como Run, Map e Use configuram o pipeline de middlewares, onde cada um tem uma função específica, como adicionar middlewares, criar sub-pipelines ou definir o middleware final. Filtros em ASP.NET Core permitem executar lógica antes ou depois de fases do processamento, oferecendo vantagens como reutilização e modularidade.

Enviado por

Daniel Fernandes
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações14 páginas

Middle Ware

Os Middlewares no .NET são componentes que processam solicitações HTTP em um aplicativo ASP.NET Core, permitindo manipulação e transformação de requisições e respostas. Métodos como Run, Map e Use configuram o pipeline de middlewares, onde cada um tem uma função específica, como adicionar middlewares, criar sub-pipelines ou definir o middleware final. Filtros em ASP.NET Core permitem executar lógica antes ou depois de fases do processamento, oferecendo vantagens como reutilização e modularidade.

Enviado por

Daniel Fernandes
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Middleware .

NET
O que é um Middleware
Os Middlewares no .NET são componentes que processam solicitações HTTP e fazem
parte do pipeline de requisição de um aplicativo [Link] Core. Eles são essenciais
para manipular e transformar as requisições e respostas de uma aplicação web.

Geralmente escolhem se deseja passar a


solicitação para o próximo componente no pipeline
Pode executar o trabalho antes e depois do
próximo componente no pipeline
Os delegados de solicitação são configurados
usando os métodos de extensão Run, Map e Use.
Cada middleware invoca o proximo ou causa um
curto-circuito
Middleware Cuito-circuito
Quando um delegado não transmite uma solicitação ao próximo delegado, considera-se
que ele esteja causando um curto-circuito do pipeline de solicitação. O curto-circuito
geralmente é desejável porque ele evita trabalho desnecessário.
Métodos Run, Map e Use
Em .NET, Run, Map e Use são métodos usados para configurar o
pipeline de middlewares em uma aplicação [Link] Core. Cada um
tem uma função específica para organizar e controlar o fluxo de
requisições HTTP.
USE
O método Use adiciona um middleware ao pipeline e permite passar a requisição
para o próximo middleware (se existir).
É possível ter múltiplos middlewares Use, que são executados em sequência no
pipeline, e cada um pode decidir continuar ou interromper a execução.

Ideal para: Lógica que pode precisar passar a


requisição para middlewares seguintes, como
autenticação, autorização, logs ou configuração de
cabeçalhos.
MAP
O método Map cria "sub-pipelines" condicionais que só serão executados para caminhos
específicos da URL, permitindo configurar middlewares separados para rotas específicas

Map cria uma ramificação no pipeline principal, e middlewares configurados dentro do Map
só serão executados se a condição da URL for atendida.

Ideal para: Dividir o pipeline por rotas ou caminhos específicos, como APIs de
administração, rotas públicas, ou caminhos com autenticação diferenciada.
RUN
O método Run define o middleware final no pipeline de requisições. Ele não chama next e,
portanto, finaliza o processamento da requisição ao retornar a resposta.
Como Run é a etapa final, qualquer código abaixo dele no pipeline não será executado para
essa requisição.
Ideal para: Situações onde um middleware é o único ou último a ser executado, como
manipulação de erros, respostas diretas para algumas rotas ou mensagens de fallback
Resumo das diferenças
Middlewares personalizados
Podemos inserir middlewares
personalizados para uma rota
especifica com o intuito de
realizar alguma validação ou
lógica em especifico
Filtros com Middleware em .NET
Os filtros em [Link] Core são componentes que permitem executar lógica
antes ou depois de determinadas fases do processamento de requisições ou
respostas no ciclo de vida de uma aplicação.

Utilidade dos Filtros


Validação: Verificar ou modificar dados da requisição antes de
serem processados.
Auditoria/Log: Registrar informações sobre requisições e
respostas.
Autenticação/Autorização: Garantir que apenas usuários
autorizados tenham acesso.
Tratamento de Erros: Capturar e manipular exceções de forma
centralizada.
Modificação de Resposta: Alterar respostas antes de enviá-las ao
cliente.
Vantagens do Uso de Filtros

Reutilização: Centraliza funcionalidades comuns (como


autenticação, logs, validação).
Modularidade: Facilita a separação de preocupações.
Flexibilidade: Pode ser aplicado globalmente, em
controladores ou ações específicas.
Centralização: Simplifica o gerenciamento de lógica cross-
cutting (como logs e tratamento de erros).
Como usar um filtro
Usando um atributo em um controlador ou Razor Page.
Usando um atributo em uma ação do controlador. Atributos
de filtro não podem ser aplicados a métodos do
manipulador Razor Pages.
Globalmente para todos os controladores, ações e Razor
Pages, conforme mostrado no código a seguir:
Tipos de filtros
Authorization Filter
Executado antes da execução de qualquer coisa na ação para
verificar permissões.
Resource Filter
Executado antes e depois do modelo de roteamento, mas antes de
qualquer outro filtro. Útil para lógica de cache ou manipulação de
recursos.
Action Filter
Executado antes e depois da execução da lógica da ação.
Exception Filter
Manipula exceções lançadas durante a execução de uma ação ou
resultante.
Result Filter
Executado antes e depois da execução do resultado da ação.
Ordem de execução de um filtro
Quando há vários filtros para um estágio específico do pipeline, o escopo determina a
ordem padrão de execução do filtro. Os filtros globais cercam os filtros de classe, que
por sua vez cercam os filtros de método.

Você também pode gostar