ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 4
Neste novo post continuo a série de dicas úteis para o dia a dia de Desenvolvedores ASP.NET Core. Caso ainda não tenha consultado os 3 primeiros artigos ou, até mesmo, gostaria de revê-los acesse os links a seguir:
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 1
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 2
ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 3
Se você chegou até aqui e tem interesse em conhecer mais sobre o desenvolvimento de soluções Web utilizando o Azure, aproveito este espaco para mais um convite… Que tal aprender mais sobre a nuvem Microsoft, em um workshop que acontecerá durante um sábado (dia 21/09) em São Paulo Capital e implementando na prática um case que combina o uso de tecnologias como Azure App Service, Azure SQL, Azure Storage, Azure Functions e Application Insights? Acesse então o link a seguir para efetuar sua inscrição com um desconto especial: http://bit.ly/anp-dicas-aspnet.
Publicando em ambientes Linux através do Azure App Service
Comumemente associado a ambientes Windows, o Azure App Service também passou a oferecer mais recentemente a possibilidade de deployment de aplicações na nuvem empregando para isto máquinas Linux.
A seguir temos um exemplo da integração existente no Visual Studio 2019 com o Azure App Service em Linux:
O procedimento de criação de um novo recurso do App Service Linux em quase nada difere do modelo tradicional (utilizando servidores Windows):
Concluída a criação do recurso na nuvem, poderemos proceder com a publicação de uma aplicação:
Considerando um projeto do tipo Web API com o seguinte Controller:
Ao enviar uma requisição à aplicação já publicada teremos o seguinte resultado, em que o campo sistema corresponde ao Kernel do sistema operacional (Unix para máquinas Linux) e targetFramework a versão do .NET Core empregada (2.2 para este exemplo):
Monitorando o uso do Entity Framework Core de forma descomplicada com Azure Application Insights
O Application Insights é um serviço que integra o Microsoft Azure e que por envolver um esforço mínimo de codificação facilita em muito o monitoramento de aplicações Web.
A adoção desta tecnologia traz grandes vantagens também no monitoramento do acesso a bases de dados relacionais, uma questão muitas vezes penosa ao se empregar soluções de ORM como o Entity Framework Core. Na imagem a seguir vemos o uso da funcionalidade chama Analytics, a qual possibilita via query detectar as instruções SQL mais lentas em um projeto que empregue o EF Core por exemplo:
Maiores detalhes sobre o uso do Entity Framework Core em conjunto com o Azure Application Insights podem ser encontrados no seguinte artigo:
ASP.NET Core + Entity Framework Core: monitoramento descomplicado via Application Insights
Publicando uma aplicação via linha de comando no Azure
Como muitos já sabem existe um forte vínculo entre o PowerShell e o Microsoft Azure, com o gerenciamento de recursos na nuvem acontecendo a partir do Azure CLI (utilitário de linha de comando do Azure).
Graças a esta integração podemos efetuar o deployment de uma aplicação ASP.NET Core via PowerShell em poucos segundos, conforme demonstrado na próxima imagem (para este exemplo incluindo build e publicação foram gastos apenas 26 segundos):
Todo o procedimento para publicação de uma aplicação ASP.NET Core via linha de comando está detalhado em um exemplo apresentado no seguinte artigo:
ASP.NET Core + PowerShell: publicando via linha de comando e em segundos uma Web App no Azure
Consumindo APIs REST de forma descomplicada com a biblioteca Refit
Consumir APIs REST com a classe HttpClient costuma ser um processo trabalhoso, gerando em muitas situações extensos blocos de código (o uso de JWT exemplifica bem isto).
Felizmente temos alternativas que simplificam em muito este tipo de tarefa, sendo possível destacar aqui a biblioteca open source Refit. Na listagem a seguir temos um exemplo de uso deste projeto, com o consumo de uma API protegida por tokens:
Maiores detalhes sobre o uso da biblioteca Refit podem ser encontrados neste artigo:
ASP.NET Core + JWT + Refit: consumindo uma API protegida de forma descomplicada
Testando APIs REST de forma descomplicada com PowerShell
Além do seu uso óbvio em procedimentos envolvendo a manipulação de recursos de infraestrutura, o PowerShell pode também se revelar como uma alternativa bastante interessante para testes com APIs REST.
Tudo isto é possível graças a comandos como Invoke-RestMethod e Invoke-WebRequest. O próximo artigo aborda a utilização do PowerShell para testes em uma API REST criada com o ASP.NET Core:
PowerShell + APIs REST + JWT: teste descomplicado de uma API protegida
Nos links a seguir há ainda outros exemplos: