Exercício - Use middleware integrado

Concluído

O ASP.NET Core inclui um conjunto de componentes de middleware internos que lidam com tarefas comuns, como roteamento, autenticação e registro em log HTTP. Você pode usar esses componentes para adicionar funcionalidade ao seu aplicativo sem escrever middleware personalizado.

O líder da sua equipa encarregou-o de criar um website simples para a sua empresa. O site deve exibir uma mensagem de boas-vindas na página principal e exibir um breve histórico da empresa em uma página separada /about . Uma versão anterior do aplicativo tinha o histórico da empresa no /history URL, então você precisa redirecionar as solicitações de /history para /about para manter a compatibilidade com os links existentes.

Você usará o método interno MapGet e UrlRewriter o middleware para realizar essas tarefas.

Criar uma aplicação ASP.NET Core

Você precisa de um aplicativo ASP.NET Core para desempenhar o papel do aplicativo da sua equipe. Vamos criar um novo aplicativo ASP.NET Core usando a extensão C# Dev Kit no Visual Studio Code.

  1. Abra o Visual Studio Code.

  2. Pressione Ctrl+Shift+P para abrir a paleta de comandos.

  3. Procure e selecione .NET: Novo Projeto....

  4. Procure e selecione ASP.NET Core Empty.

    Uma captura de tela da paleta de comandos com ASP.NET Core Empty selecionado.

  5. Selecione ou crie uma pasta para o novo projeto.

  6. Nomeie o novo aplicativo MyWebApp.

  7. Selecione Criar projeto para criar o projeto.

  8. Quando o novo projeto for aberto, expanda o Solution Explorer painel para exibir os arquivos do projeto.

Executar a aplicação

Teste o aplicativo para garantir que ele seja executado.

  1. No Visual Studio Code, pressione F5 para criar e executar o aplicativo.

    1. Quando solicitado, selecione C# como o depurador.
    2. Quando solicitado, selecione C#: MyWebApp [Configuração padrão] como a configuração de inicialização a ser usada.

    Este comando inicia o aplicativo e o hospeda em um servidor Web local. Uma janela do navegador é aberta e exibe "Olá, Mundo!"

  2. Feche a janela do navegador e pare o aplicativo pressionando Shift+F5 no Visual Studio Code.

Mapeie pontos de extremidade e adicione um reescritor de URL

Agora que você tem um aplicativo funcionando, vamos adicionar uma mensagem de boas-vindas à página principal.

  1. Abra o arquivo Program.cs .

  2. app.MapGet("/", () => "Hello World!"); Na linha, altere a mensagem "Hello World!" para "Bem-vindo à Contoso!"

    app.MapGet("/", () => "Welcome to Contoso!");
    

    app.MapGet() mapeia uma solicitação HTTP GET para um caminho especificado. Esse recurso do ASP.NET Core é chamado de roteamento de ponto final. Esse código adiciona uma ramificação ao pipeline. Se o caminho da solicitação for /, o middleware de roteamento de ponto de extremidade roteia a solicitação para esse ponto de extremidade, que então escreve "Bem-vindo à Contoso!" na resposta.

  3. Na próxima linha, adicione o seguinte código:

    app.MapGet("/about", () => "Contoso was founded in 2000.");
    

    Este código adiciona outro ponto de extremidade. Se o caminho da solicitação for /about, o endpoint escreve "Nossa empresa foi fundada em 2000." para a resposta.

  4. Antes do primeiro app.MapGet(), adicione o seguinte código:

    app.UseRewriter(new RewriteOptions().AddRedirect("history", "about"));
    

    Esse código adiciona um componente de middleware de regravador de URL que redireciona solicitações de /history para ./about O AddRedirect() método usa dois parâmetros: um padrão de expressão regular para corresponder ao caminho da solicitação e o caminho de substituição para o qual redirecionar.

  5. Adicione a seguinte diretiva à parte superior do arquivo:

    using Microsoft.AspNetCore.Rewrite;
    

    Esta diretiva resolve a referência à RewriteOptions classe.

Testar as alterações

  1. Salve todas as suas alterações e execute o aplicativo como antes.
  2. Quando a janela do navegador abrir, observe que a URL raiz exibe "Bem-vindo à Contoso!" Adicione /about ao URL e pressione Enter. O navegador deve exibir "A Contoso foi fundada em 2000".
  3. Substitua /about por /history no URL e pressione Enter. O navegador deve redirecionar para /about.
  4. Deixe o aplicativo em execução para o próximo exercício.