Novidades do .NET 6: suporte a Hot Reload no ASP.NET Core
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:
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):
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: