Readership Survey Results for Microsoft Entra Blog
June 30, 2025O ecossistema do .NET é uma plataforma de desenvolvimento de software criada pela Microsoft. Ele inclui ferramentas, bibliotecas e frameworks para a criação de aplicações desktop, web, mobile, serviços e muito mais. Desde sua unificação, o .NET Core
e o .NET Framework
passaram a ser conhecidos apenas como .NET
.
O .NET SDK (Software Development Kit) fornece as ferramentas necessárias para criar, compilar, depurar e publicar aplicações .NET
. Ele inclui o compilador C#), bibliotecas de classes como ASP.NET Core e Entity Framework Core, além de utilitários como o MSBuild.
O ambiente de execução .NET
(Common Language Runtime ou CLR) gerencia a execução de programas .NET
, oferecendo serviços como gerenciamento de memória, coleta de lixo e controle de exceções.
Tipos de Aplicações .NET
- Web API: Aplicações que fornecem serviços e endpoints RESTful para interação com clientes.
- Razor com SSR (Server-Side Rendering): Ideal para aplicações que precisam de SEO e renderização eficiente.
- Console Application: Útil para tarefas automatizadas e scripts.
- MAUI (Multi-platform App UI): Permite o desenvolvimento de aplicativos multiplataforma.
- Libraries (.NET Standard/Core Libraries): Conjuntos de código reutilizável para funcionalidades específicas.
ASP.NET Core WebAPI
Uma WebAPI segue o estilo arquitetural REST (Representational State Transfer), utilizando o protocolo HTTP para comunicação.
- Protocolo HTTP: Define métodos como GET, POST, PUT e DELETE para manipulação de recursos.
- REST API: Utiliza URIs para identificar recursos e métodos HTTP para operações CRUD.
- Modelo de Richardson: Estabelece níveis de maturidade em APIs REST.
O foco principal do artigo está na WebAPI, devido à sua relevância na criação de serviços modernos.
Demo
Para criar uma webapi
, com o dotnet sdk instalado, rode o comando:
dotnet new webapi -n MinhaApi
Após executar o comando, será gerada uma estrutura básica de projeto contendo:
- Controllers: Arquivos para definir os endpoints da API.
- Program.cs: Configuração inicial da aplicação.
- appsettings.json: Arquivo de configuração.
Você pode iniciar o servidor com:
cd MinhaApi
dotnet run
Ciclo de vida de uma requisição HTTP em aplicações ASP.NET Core
Server
Uma aplicação ASP.NET Core é executada com uma implementação de servidor HTTP in-process
. Esse servidor escuta por requisições HTTP e as disponibiliza para a aplicação através do HttpContext.
As responsabilidades do servidor incluem:
- Escutar em uma porta específica para receber solicitações HTTP.
- Processar as requisições e encaminhá-las para os middlewares configurados.
Middlewares
Os middlewares são componentes que processam requisições e respostas. Eles podem:
- Autenticar usuários.
- Registrar logs.
- Manipular erros.
Exemplo de configuração de middleware:
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
Controllers
Os controllers são responsáveis por definir os endpoints da API. Um exemplo básico:
[ApiController]
[Route(“api/[controller]”)]
public class MinhaController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok(“Hello World”);
}
}
Resumo
O ciclo de vida de uma requisição HTTP envolve o servidor, middlewares e controllers, garantindo que cada etapa seja processada de forma eficiente e escalável.
Conclusão
O ASP.NET Core é uma plataforma poderosa e flexível que permite o desenvolvimento de aplicações modernas, robustas e escaláveis. Desde sua arquitetura modular com middlewares até a configuração do pipeline de requisições, ele fornece ferramentas essenciais para criar soluções otimizadas e adaptadas a diferentes necessidades, seja para web, APIs RESTful ou sistemas distribuídos.
Ao longo deste artigo, exploramos desde os fundamentos do .NET
e a ampla gama de tipos de aplicativos que podem ser criados, até os detalhes do ciclo de vida de uma requisição HTTP e a importância dos servidores Kestrel e HTTP.sys. Com uma compreensão clara do pipeline de requisições e dos middlewares, é possível projetar sistemas que não apenas atendem aos requisitos técnicos, mas também oferecem excelente desempenho e uma experiência de usuário consistente.
Dominar o ecossistema do ASP.NET Core é essencial para desenvolvedores que desejam se destacar no desenvolvimento de serviços e aplicações web de alto desempenho.