ASPNET, builder e middlewares
O que é o ASPNET ?
É uma tecnologia/framework da Microsoft para desenvolvimento de aplicações web, ela é reponsável por configurar de forma prática a comunicação entre o aplicativo e clientes que farão as requisições HTTP. Ao utilizar o framework você tem diversas facilidades pré configuradas, configuração de servidor, diferentes opções de Middlewares e diferentes templates
Existem diferentes versões de framework, versões antigas que só era suportadas no windows chamada de .NET Framework tendo como ultima versão a .NET framework 4.8, a plataforma foi evoluindo e passou a ser suportada por multiplataformas e o nome foi ajustado para .NET CORE algumas versões foram lançadas e hoje em dia o são chamdas de .NET apenas. A ultima versão lançada é .NET 8 long Support.
Assim como as versões da plataforma foi evoluindo, o framework de desenvolvimento WEB também foi acompanhando essa evolução passando a ser chamado de ASPNET CORE. Ao utilizar esse framework existe a possibilidade de escolher juntamente o tipo de arquitetura que será utilizada em seu projeto então você pode escolher entre as opções ASPNET Core MVC, ASPNET Web API Core ASPNET Minimal API entre outras arquitetura pré definidas.
O fato é que você vai utilizar esse framework para desenvolvimento de aplicação que se comunica via HTTP e precisa de um servidor rodando. Sendo assim chagamos a principal dúvida, como essa aplicação se inicia ? Quais as configurações possíveis ? Quais os primeiros passos antes de começar a codificar a primeira classe ?
Program.cs, primeiros passos
Focando nas novas versões CORE, utilizaremos o arquivos Program.cs para configurar quais as dependencias que existirão em nosso aplicativo, se ele vai precisar mapear arquivos de controllers, se ele vai apontar para algum arquivo de configuração especícifo ou se ele vai utilizar logs para observabilidade. Tudo isso é configurado intanciando uma classe WebApplication que te dará acessos a todas as propriedades que estão mapeando os recursos possíveis oferecidos pelo ASPNET.
Instânciar WebApplication
Obter acesso à algumas propriedadesque vão configurar o aplicativo exemplo das mais utilizadas são:
var builder = WebApplication.CreateBuilder(args);
Propriedade | Descrição | Uso comum |
---|---|---|
Services |
Container de serviços | Resolver dependências |
Environment |
Info do ambiente (Dev, Prod, etc) | Configurações condicionais |
Configuration |
Acesso à configuração | Ler appsettings, variáveis |
Urls |
URLs onde o app está escutando | Debug, logs |
Lifetime |
Eventos do ciclo de vida | Hooks para iniciar/desligar |
Pipeline HTTP, Middlewares
Outra etapa após configurar o builder é fazer a configuração dos middleware que são regras/passos que serão executado a cada requisição, ele é o meio do caminho entre o início da solcitação http e o retorno. Sendo assim questões de autorização, validações de tipo de requisição enfim todos os passos precisam ser executados em ordem e depdendendo das regras podem alterar o retorno da requisição.