Novidades do .NET 6: suporte a Hot Reload no ASP.NET Core

Renato Groffe
3 min readApr 12, 2021

--

Na última quinta-feira dia 08/04 foi anunciado o Preview 3 do .NET 6, com mais recursos disponibilizados para testes dentro desta versão que visa a unificação de toda a plataforma .NET. Nos links a seguir estão as postagens cobrindo diversas novidades nos blogs oficiais da plataforma .NET e do ASP.NET:

Um dos recursos mais esperados e que já se encontra nos estágios iniciais de suporte para ASP.NET Core é o Hot Reload: a capacidade de realizar alterações em uma aplicação sem necessidade de reinicialização e evitando a perda dos estados da mesma.

Essa funcionalidade está disponível através do uso de um comando já existente: dotnet watch.

Por default a instrução dotnet watch run procede com a reinicialização de uma aplicação caso ocorram mudanças no código, com a consequente perda de estado. É que está demonstrado na imagem a seguir:

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

O armazenamento de estado por esta aplicação (um site baseado em Razor Pages) se baseou em um contador de acessos, representado pela classe Contador e com o valor de contagem associado à propriedade ValorAtual:

Uma instância de Contador foi associada a um campo privado em IndexModel, mantendo assim o estado após sucessivas requisições:

Obviamente que uma alteração sem a utilização de Hot Reload resultou na perda do estado de tal contador.

Com o .NET 6 Preview 3 deverá ser definido o valor aspnetcore para a chave hotReloadProfile no profile da aplicação. Tal configuração estará definida no arquivo launchSettings.json do diretório Properties do projeto em questão:

Na próxima imagem podemos observar a utilização de Hot Reload no mesmo exemplo descrito anteriormente (já convertido para .NET 6 Preview 3 + ASP.NET Core):

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

Este também projeto foi disponibilizado no GitHub:

.NET 6 Preview 3 + ASP.NET Core + Razor Pages + Hot Reload + Docker + Linux

E termino este post com 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-abr-2021

--

--

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