ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor - Parte 10

Renato Groffe
4 min readApr 5, 2021

--

Neste post retomo a série com dicas úteis para o dia a dia de Desenvolvedores ASP.NET Core. Até o momento já são 10 artigos com dezenas de dicas. Caso ainda não tenha acessado os 9 posts anteriores ou, até mesmo, gostaria de revê-los consulte 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

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 4

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 5

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 6

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 7

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 8

ASP.NET Core: dicas úteis para o dia a dia de um Desenvolvedor | Parte 9

E aproveito este espaço para um convite…

No dia 12/04/2021 (segunda) às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no Canal .NET.

Desta vez farei uma apresentação com dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 5, ASP.NET Core e Azure Functions. Ao longo da live será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria, bancos de dados e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-backend-dotnet5-mar-2021

Redis: indo além do armazenamento de chaves + valores

Embora muitos desconheçam, o Redis vai muito além do simples armazenamento de dados em cache. No caso específico do ASP.NET Core e mesmo da plataforma .NET em geral, podemos tirar proveito de diversas estruturas oferecidas por esta tecnologia a partir do package StackExchange.Redis.

Uma dessas possibilidades está no uso de Hashes, com a definição de conjuntos formados por chaves e valores. Trata-se de uma alternativa interessante para representar os diferentes valores que constituem um objeto. No exemplo a seguir podemos observar a manipulação de uma estrutura deste tipo através dos métodos HashExists, HashSet (em conjunto com o tipo HashEntry) e HashGet:

Este projeto foi inclusive disponibilizado no seguinte repositório do GitHub:

.NET 5 + ASP.NET Core + Razor Pages + Refit + Redis (armazenamento em Hashes) + Consumo de API REST da NASA (Picture of the day)

E descrito em maiores detalhes em um vídeo do canal Azure na Prática no YouTube:

Remoção de packages que não estão em uso em um projeto

Um dos Previews mais recentes do Visual Studio 2019 trouxe uma funcionalidade há muito esperada: a possibilidade de remover packages que não estejam em uso (ou mesmo indicar tais ocorrências) com poucos cliques no mouse. A seguir podemos observar isto no Preview 1 da versão 16.10 desta IDE:

Clique nesta imagem para visualizar com uma melhor resolução

Maiores detalhes sobre este novo recurso (inclusive como habilitá-lo) podem ser encontrados no artigo:

Visual Studio 2019: removendo packages NuGet que não estão em uso em um projeto

Suporte a IntelliSense no arquivo appsettings.json

Outra novidade recente da qual muitos Desenvolvedores ASP.NET Core podem se beneficiar está presente tanto no Visual Studio 2019, quanto no Visual Studio Code: o suporte a IntelliSense no arquivo appsettings.json para alguns itens de configuração utilizados com maior frequência.

Na imagem a seguir temos esta capacidade demonstrada no Visual Studio Code:

Apresento maiores detalhes sobre esta novidade (inclusive um exemplo envolvendo o Visual Studio 2019) no seguinte artigo:

Novidade no Visual Studio: suporte a IntelliSense no arquivo appsettings.json

Simplificando a implementação de testes de APIs REST com Refit

Excelente opção para simplificar a codificação de instruções envolvendo chamadas HTTP, podemos nos beneficiar também da biblioteca Refit na implementação de testes automatizados validando APIs REST.

A próxima listagem traz um exemplo de client HTTP baseado no Refit; apenas uma interface com um método corresponde a uma chamada HTTP GET (não há sequer implementação para a mesma):

Para saber mais como codifiquei os testes acesse o artigo a seguir, em que apresento validações com os dados devolvidos pela API e até com códigos de retorno HTTP:

Testes de APIs REST com .NET 5, xUnit, Refit e Fluent Assertions

Simplificando a gravação de logs no Elasticsearch com Serilog

Solução comumente adotada em implementações para logging, o Elasticsearch pode ser combinado ao Serilog a fim de simplificar a coleta de informações deste tipo em aplicações .NET.

Na imagem a seguir estão alguns logs gerados em projeto ASP.NET Core e enviados ao Elasticsearch:

Detalhes sobre esta implementação podem ser encontrados no seguinte artigo:

.NET 5 + Serilog: implementando Logs com Elasticsearch, SQLite, …

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

No responses yet