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

Vista: 61848|Resposta: 3

[.NET Core] ASP.NET Explicação detalhada do Middleware Core

[Copiar link]
Publicado em 18/09/2019 11:35:59 | | | |
O que é Middleware?

Middleware é um software montado em pipelines de aplicações para lidar com requisições e respostas. Cada componente:

  • Escolha se deseja passar a solicitação para o próximo componente do pipeline.
  • O trabalho pode ser realizado antes e depois que o próximo componente do pipeline é invocado.

Os delegatos de requisição são usados para construir um pipeline de requisições que lida com cada requisição HTTP.

Os delegados de requisição são configurados usando os métodos de extensão Run, Map e Use. Um delegado de requisição separado pode ser especificado em um método anônimo inline (chamado middleware inline), ou pode ser definido em uma classe reutilizável. Essas classes reutilizáveis e métodos de anonimização inline são middleware ou componentes de middleware. Cada componente middleware no fluxo de requisições é responsável por chamar o próximo componente no pipeline e, se apropriado, por curto-circuito pelo link.

Migrar módulos HTTP para middleware explica a diferença entre ASP.NET Core e pipelines de requisições em versões anteriores (ASP.NET) e fornece mais exemplos de middleware.

Use o IApplicationBuilder para criar um pipeline de middleware

O processo de requisição ASP.NET Core consiste em uma série de delegados de requisição, como mostrado na figura a seguir (o processo de execução segue a seta preta):

Cada delegado pode realizar ações antes e depois do próximo delegado. O delegado também pode decidir não passar a solicitação para o próximo delegado, o que é chamado de curto-circuito no pipeline de requisição. Um curto-circuito geralmente é desejável porque evita trabalhos desnecessários. Por exemplo, middleware de arquivo estático pode retornar uma solicitação para um arquivo estático e curto-circuitar o restante do pipeline. Delegados de tratamento de exceções precisam ser invocados cedo no pipeline, para que possam capturar exceções em pipelines posteriores.

A coisa mais simples provavelmente é configurar um delegado ASP.NET aplicação Core para lidar com todas as solicitações. Esse cenário não inclui o pipeline real de requisições. Em vez disso, um método anônimo é chamado para cada requisição HTTP.


O primeiro app. Run delegate encerra o pipeline.

Existe um código assim:




Acessado pelo navegador, descobre-se que está realmente no primeiro app. Run termina o pipeline.



Você pode delegar múltiplos pedidos pelo app. O uso está conectado. O próximo parâmetro representa o próximo delegado no pipeline. (Lembre-se de que você pode encerrar o pipeline não chamando o próximo parâmetro.) Você geralmente pode realizar ações antes e depois da próxima delegação, como mostrado no exemplo a seguir:

Usar um navegador para acessar resultados como:



Pode-se ver que a ordem de execução do delegado da solicitação segue o fluxograma acima.

Nota:

Depois que a resposta for enviada ao cliente, não ligue em seguida. Invoke。 Após o início da resposta, alterações no HttpResponse lançam uma exceção. Por exemplo, definir cabeçalhos de resposta, códigos de status, etc., gera uma exceção. Escreva o corpo da resposta após ligar em seguida.

pode resultar em violação do acordo. Por exemplo, escrever mais do que o comprimento do conteúdo descrito em comprimento de conteúdo.

A formatação de conteúdo responsivo pode estar com problemas. Por exemplo, escreva um rodapé HTML em um arquivo CSS.

HttpResponse.HasStarted é uma dica útil para indicar se um cabeçalho de resposta foi enviado e/ou se o corpo foi escrito.


Middleware embutido

ASP.NET Core vem com os seguintes componentes de middleware:


Middlewaredescrição
AutenticaçãoO suporte à autenticação está disponível
CORSConfigurar compartilhamento de recursos entre domínios
Cache de respostaSuporte a resposta em cache está disponível
Compressão de respostaFornecer suporte para compressão de resposta
RoteamentoDefinir e restringir o roteamento de requisições
SessãoFornece gerenciamento de sessões de usuário
Arquivos EstáticosOferece suporte para navegação estática de arquivos e diretórios
Middleware de Reescrita de URLUsado para reescrever URLs e solicitar suporte para redirecionamentos





Anterior:Novo produto da Baidu! One Moment Album, atualmente 1 milhão de usuários podem reivindicar armazenamento ilimitado:
Próximo:Inglês Nível 4 e 6 Compreensão Auditiva e Exame de Pós-Graduação Reexame de Vocabulário de Inglês Compartilhamento de Dados Orais
Publicado em 22/09/2021 20:47:00 |
Aprenda a aprender...
Publicado em 10/10/2021 18:55:42 |
Aprenda a aprender, neste artigo abriu uma associação
Publicado em 10/10/2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
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