Implementando Redis Backplane para Escalar SignalR em .NET
Deploy Simplificado de APIs .NET com Azure App Service
Você criou sua API em .NET e está pronto para levá-la ao mundo real. Mas a simples ideia de configurar servidores, lidar com infra e gerenciar deploys manuais te parece um filme de terror? Então é hora de conhecer o Azure App Service🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real.! Com ele, você faz o deploy da sua aplicação praticamente em um clique, com direito a escalabilidade e configurações simplificadas. Bora descobrir como isso funciona?
Tabela de Conteúdo🔗
- O que é o Azure App Service
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real.?
- Como Funciona o Deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. com um Clique?
- Criando seu App Service
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. na Prática
- Deploy Rápido Usando Visual Studio
🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE.
- Configurações de Ambiente e Escalabilidade
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos.
- Logs e Monitoramento
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade.: Entenda o que Está Acontecendo
- Por que Azure App Service
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real.?
- Criando uma API .NET para Deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real.
- Deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. via Azure CLI: Para os Amantes do Terminal
- Configuração
🚀 Scale Out com Redis: Atenda Milhões de Conexões!Integre o Redis com SignalR no .NET e distribua mensagens entre servidores, alcançando escalabilidade e alta performance em tempo real. Pós-Deploy: Domine as Engrenagens
- Desafio Prático: Deploy + Monitoramento
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade.
- Conclusão
O que é o Azure App Service?
O Azure App Service🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. é um serviço da Microsoft que facilita (e muito) a vida de quem precisa hospedar aplicações web, APIs e até mesmo aplicativos de Machine Learning. Em vez de você investir tempo configurando máquinas virtuais, bancos de dados e processos manuais de deploy, com o App Service pode fazer tudo isso de forma integrada. É como ter um “gerente de infraestrutura” 24 horas por dia cuidando do seu servidor para você.
Por que usar?
- Automatiza boa parte do deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real..
- Possui suporte nativo a .NET (e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. outras linguagens comuns).
- Permite escalabilidade automática
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade..
- Oferece logs e ferramentas de monitoramento
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. integradas.
Como Funciona o Deploy com um Clique?
A proposta é simples: você seleciona sua aplicação (ou repositório), clica em um botão no Azure ou no Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE., e o código é enviado para o App Service. Lá, ele é executado em containers gerenciados pela Microsoft. Isso significa menos estresse com configurações de servidor e um ciclo de desenvolvimento mais ágil.
Criando seu App Service na Prática
Para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! mostrar como é simples, vamos pensar em um cenário onde você já tem uma API .NET pronta. Eis os passos básicos para criar o App Service
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. no portal do Azure:
1. Crie um Resource Group: Pense nisso como uma “pasta” onde todos os recursos📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. do Azure vão ficar organizados.
2. Selecione o Serviço: Vá em Create a resource → App Service🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade..
3. Configure o Plano de Hospedagem: Você escolhe a capacidade de CPU e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. memória. Também define se quer Windows ou Linux.
4. Defina um Nome Único: Esse será o subdomínio padrão da sua aplicação (exemplo: my-api🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real..azurewebsites.net).
5. Revise e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. Crie: Em alguns segundos, você terá seu ambiente prontinho para receber o deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real..
Deploy Rápido Usando Visual Studio
Se você desenvolve com Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE., o processo pode ser ainda mais simples:
2. Clique com o Botão Direito no Projeto🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. → Publish.
3. Escolha Azure🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. como destino.
4. Selecione ou crie um novo App Service🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade..
5. Clique em Publish e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. aguarde.
Pronto, o Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. empacota sua aplicação e envia para o Azure. Após a conclusão, você consegue acessar sua API pelo navegador usando a URL gerada no App Service.
Exemplo de .csproj para Publicação
Em alguns casos, você pode querer configurar no seu .csproj
algo específico antes de publicar📦 Crie um Pacote NuGet: Compartilhe seu Código!Aprenda a empacotar, configurar e publicar pacotes NuGet em C# passo a passo, com dicas profissionais e práticas recomendadas para seu projeto.. Veja um exemplo simples:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<PublishProfile>FolderProfile</PublishProfile>
<PublishUrl>$(MSBuildProjectDirectory)\publish</PublishUrl>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Esse trecho configura o projeto para publicar📦 Crie um Pacote NuGet: Compartilhe seu Código!Aprenda a empacotar, configurar e publicar pacotes NuGet em C# passo a passo, com dicas profissionais e práticas recomendadas para seu projeto. em uma pasta local. Depois, você poderia subir manualmente essa pasta para o Azure
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real..
Configurações de Ambiente e Escalabilidade
Uma das vantagens do App Service é a facilidade para configurar variáveis🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. de ambiente e scaling. Imagine que sua API precise de uma variável de conexão ou uma chave de API
📦 Crie um Pacote NuGet: Compartilhe seu Código!Aprenda a empacotar, configurar e publicar pacotes NuGet em C# passo a passo, com dicas profissionais e práticas recomendadas para seu projeto. secreta. Para configurar:
- Vá até o Azure
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. Portal → Abra o App Service
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. → Settings → Configuration.
- Adicione suas variáveis
🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. em Application settings.
Para escalar🚀 Scale Out com Redis: Atenda Milhões de Conexões!Integre o Redis com SignalR no .NET e distribua mensagens entre servidores, alcançando escalabilidade e alta performance em tempo real. horizontalmente (mais instâncias rodando ao mesmo tempo), basta configurar o Scale out
🚀 Scale Out com Redis: Atenda Milhões de Conexões!Integre o Redis com SignalR no .NET e distribua mensagens entre servidores, alcançando escalabilidade e alta performance em tempo real. (App Service Plan). Em poucos cliques, sua aplicação ganha poder de fogo para
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! atender mais requisições.
Logs e Monitoramento: Entenda o que Está Acontecendo
Nada pior do que não ter ideia do que está rolando em produção. O Azure App Service🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. traz ferramentas de logging e monitoramento:
- Application Insights: Observa métricas de performance
🔄 StringBuilder: Quando Concatenar Strings Vira um Pesadelo!Descubra como o StringBuilder otimiza a concatenação em C#, evitando desperdício de memória e melhorando a performance das aplicações. Veja exemplos práticos! e rastreamento de erros.
- Log Stream: Acompanhe logs
📝 Logging com Serilog: Registre Tudo como um Detetive de Bugs!Aprenda a usar Serilog em .NET para registrar logs estruturados, identificar erros e enriquecer informações, transformando seu código num enigma solucionável. em tempo real pelo portal.
Com isso, você identifica gargalos, exceções💥 Try/Catch: Domine Exceções antes que Elas Dominem Você!Descubra como tratar exceções em C# com práticas eficientes utilizando try/catch. Aprenda a gerenciar erros e aumentar a robustez do seu código. mais frequentes e até consumo de recursos para ajustar o tamanho do seu App Service adequadamente.
🚀 Por que Azure App Service?🔗
Para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! o Product Manager: É como ter um "Heroku para .NET" - gerencia infra automaticamente enquanto
🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! você foca nas regras de negócio.
Para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! o Dev Legado: Migre aplicações .NET
📊 Monitoramento com Prometheus: Métricas em Tempo Real!Descubra como implementar o Prometheus para monitoramento em sistemas .NET, com métricas em tempo real e dashboards inteligentes. Framework 4.x para .NET 8+ sem reescrever tudo! O App Service
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. suporta múltiplas versões side-by-side.
Exemplo Real:
// Sua API legada em .NET Framework 4.7.2 funciona no Azure App Service!
public class LegacyController : ApiController
{
public IHttpActionResult Get()
{
return Ok("Funciona na nuvem! 🌩️");
}
}
- Escalabilidade automática
🚀 Kubernetes: Orquestração de Microservices na Nuvem!Descubra como Kubernetes revoluciona o gerenciamento de microsserviços na nuvem, garantindo escalabilidade, automação e alta disponibilidade. (de 1 instância para 100+)
- HTTPS gratuito com certificado SSL
- Integração nativa com Azure
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. SQL, Cosmos DB, etc
🛠️ Criando uma API .NET para Deploy🔗
dotnet new webapi -n MinhaApiCloud
[ApiController]
[Route("[controller]")]
public class CloudController : ControllerBase
{
[HttpGet]
public string Get() => "API pronta para decolar! 🚀";
}
Teste Local:
dotnet run
# Acesse https://localhost:7274/cloud
🧙♂️ Deploy pelo Visual Studio: Magia em 3 Passos🔗
1. Botão direito no projeto🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. → Publicar
📦 Crie um Pacote NuGet: Compartilhe seu Código!Aprenda a empacotar, configurar e publicar pacotes NuGet em C# passo a passo, com dicas profissionais e práticas recomendadas para seu projeto.
2. Selecione Azure🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. → Azure App Service
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. (Windows)

// Properties/PublishProfiles/appservice.pubxml
<PropertyGroup>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<PublishProvider>Azure</PublishProvider>
<ResourceGroup>meu-grupo-recursos</ResourceGroup>
<SiteName>minha-api-prod-2024</SiteName>
</PropertyGroup>
⌨️ Deploy via Azure CLI: Para os Amantes do Terminal🔗
Passo 1: Instale a Azure🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. CLI
az login
az group create --name MeuGrupo --location eastus
az appservice plan create --name MeuPlano --sku B1 --resource-group MeuGrupo
az webapp create --name MinhaApiCloud --plan MeuPlano --resource-group MeuGrupo --runtime "DOTNETCORE:8.0"
az webapp deployment source config --name MinhaApiCloud --resource-group MeuGrupo --repo-url https://github.com/seuuser/minha-api --branch main
⚙️ Configuração Pós-Deploy: Domine as Engrenagens🔗
1. Variáveis🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. de Ambiente (Application Settings):
az webapp config appsettings set --name MinhaApiCloud --resource-group MeuGrupo --settings "DatabaseConnection=Server=..."

az webapp log tail --name MinhaApiCloud --resource-group MeuGrupo
Dica Pro: Use Health Check Path
para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! monitorar
/health
da sua API🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real.!
🏆 Desafio Prático: Deploy + Monitoramento🔗
Objetivo:
- Faça deploy
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. de uma API que retorne o horário atual
- Configure autoescalamento para 3 instâncias quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. CPU > 70%
- Adicione um domínio customizado
Passo a Passo:
1. Crie nova API com endpoint📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos.
/time
:
[HttpGet("time")]
public DateTime GetTime() => DateTime.UtcNow;
- Escalabilidade
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. → Configurar regra de escala automática
- Configurações SSL → Adicionar
📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. domínio
Checklist de Sucesso:
- [ ] API
🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. responde em https://seudominio.com/time
- [ ] Logs mostram múltiplas instâncias quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. sob carga
- [ ] Acesso via HTTPS sem avisos de certificado
Conclusão
O Azure App Service🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. é a prova de que montar infraestrutura para suas APIs e aplicações não precisa ser um pesadelo. Com alguns cliques e configurações, você coloca sua aplicação no ar e ainda tem escalabilidade e monitoramento de brinde. Se você quer focar em criar
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. funcionalidades e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. não em administrar servidores, o App Service é uma excelente pedida para simplificar seu fluxo de trabalho
🛠️ GitHub Actions para OSS: CI/CD Profissional de Graça!Descubra neste tutorial como automatizar testes, builds e deploys em projetos OSS com GitHub Actions, elevando a qualidade do seu software.. Boa sorte nos deploys!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- .NET Documentation: learn.microsoft.com/pt-br/dotnet/
- ASP.NET Core Samples: github.com/dotnet/AspNetCore.Docs
- DevBlogs da Microsoft: devblogs.microsoft.com/dotnet/
- Microsoft Learn: C# e .NET: learn.microsoft.com/pt-br/dotnet/csharp/
- YouTube: Microsoft Developer: www.youtube.com/c/MicrosoftDeveloper