Blog Post

Desenvolvedores BR
3 MIN READ

Anatomia de um serviço ASP.NET Core

ClaudioGodoy's avatar
ClaudioGodoy
Icon for Microsoft rankMicrosoft
Jun 30, 2025

O artigo apresenta uma introdução ao ecossistema .NET e foca na anatomia de um serviço ASP.NET Core.

O 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

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.

Updated Jun 14, 2025
Version 1.0
No CommentsBe the first to comment