Ah, ASP.NET Core. A criação da Microsoft que desperta amor e ódio nos desenvolvedores.

O que é?

ASP.NET Core é a novidade da Microsoft. Une o jeito MVC de ser com o desenvolvimento ágil, tudo dentro do .NET. Se quiser saber por que a Microsoft reformulou o ASP.NET, eles têm uma página explicando: História do ASP.NET Core

A Configuração básica

Quando você cria um novo projeto Empty no ASP.NET Core, parece uma folha em branco, esperando a sua criatividade.

Novo-projeto Empty-Project

Veja só a estrutura básica do projeto.

EstruturaBasica

ArquivoDescrição
Program.cs e startup.csOnde tudo começa no ASP.NET Core. O show inicia aqui.
EntendendoBasico.csprojLista de pacotes NuGet, como uma lista de compras para o seu projeto.

O Startup.cs é o local onde os serviços e middlewares são configurados.

.csproj

Este arquivo é quem manda no projeto. Para editar, clique direito em Edit .csproj file.

ElementoDescrição
ProjectÉ como a certidão de nascimento do seu projeto.
PropertyGroupGrupo de configurações técnicas.
TargetFrameworkEscolha da versão do framework.
ItemGroupConfigurações agrupadas.
FolderDiretrizes sobre o que fazer com os arquivos em pastas.
PackageReferenceDependências do projeto com suas versões.
DotNetCliToolReferenceFaz a CLI do dotnet funcionar.

Program.cs

Este arquivo é onde tudo começa.

A classe Program começa tudo com o método Main, que chama BuildWebHost.

O CreateDefaultBuilder simplifica as coisas.

Método CreateDefaultBuilder

Este método promete deixar as coisas mais fáceis.

MétodoDescrição
UseKestrelUm servidor eficiente.
UseContentRootOnde tudo começa.
ConfigureAppConfigurationComo configurar o app.
AddUserSecretsGuardam segredos.
ConfigureLoggingRegistra erros do projeto.
UseIISIntegrationQuando não consegue deixar o IIS de lado.
UseDefaultServiceProviderO padrão para serviços do projeto.
UseStartupInício do projeto: Startup.cs!

Kestrel

Kestrel é o servidor que permite rodar o ASP.NET Core em qualquer lugar.

dotnet run

Esse comando inicializa o Kestrel, mostrando que o ASP.NET Core funciona sem o IIS.

Startup.cs

Aqui está o protagonista:

ConfigureServices e Configure configuram o app com seus serviços e pipeline.

pipeline do ASP.NET Core

Todo o caminho do dotnet run, orientando o app:

pipeline-aspnet

Fim!

ASP.NET Core é o que todos adoram e odeiam na tecnologia. Se isso te esclareceu ou fez rir, comenta aí!

Referências