Blazor - Use the .dev.localhost TLD na URL da apliacção
![]() |
Neste eu explico que a nova opção - Use the .dev.localhost TLD in the application URL- que aparece no template de projeto Blazor. |
Ao criar um novo projeto Blazor Web App no Visual Studio (especialmente nas versões mais recentes voltadas ao .NET 10), você encontrará uma nova opção de configuração: "Use the .dev.localhost TLD in the application URL".
Historicamente, o desenvolvimento local em .NET sempre foi sinônimo do endereço
https://localhost:[porta]. Embora funcional, essa
abordagem trazia limitações em cenários de arquiteturas mais complexas. Este
novo recurso altera o sufixo (TLD -
Top-Level Domain) da URL
de desenvolvimento para utilizar o padrão sugerido por RFCs de rede para
ambientes isolados.
Em termos simples: ela altera o endereço (URL) que o seu navegador usa para abrir o projeto durante o desenvolvimento.
O que muda na prática?
Sem marcar (Padrão):
O seu app abre em algo como https://localhost:7001.
Marcando a opção: O seu app abrirá em um endereço como
https://meuprojeto.dev.localhost:7001
Por que isso é útil?
Existem três motivos principais,
sendo o primeiro muito relevante para o seu trabalho com Blazor e IA:
1. Gerenciamento de Cookies e Isolamento
Quando você
desenvolve vários projetos usando apenas localhost, todos eles compartilham os
mesmos cookies e armazenamento local (Local Storage).
Isso pode causar conflitos se você estiver testando diferentes sistemas de autenticação ao mesmo tempo. Usando um subdomínio específico (como meuprojeto.dev.localhost), os cookies ficam isolados apenas para aquele projeto.
2. Teste de Subdomínios (Multi-tenancy)
Se você estiver
escrevendo um código que precisa identificar o cliente pelo subdomínio (ex:
cliente1.meuapp.com), usar o .dev.localhost facilita simular esse
comportamento localmente sem precisar mexer no arquivo hosts do Windows.
3. HTTPS e Certificados
O sufixo .localhost é reservado
por padrão para apontar para a sua própria máquina. Navegadores modernos (como
Chrome e Edge) entendem que qualquer URL terminando em .localhost é segura, o
que ajuda a evitar aqueles alertas chatos de "Sua conexão não é privada"
durante o desenvolvimento de APIs ou apps Blazor.
O que isso resolve na prática?
A introdução deste
recurso foca em três pilares principais do desenvolvimento web moderno:
Isolamento de Estado: Ao usar um subdomínio específico para
cada projeto (ex: MeuAppIA.dev.localhost), o navegador isola automaticamente
Cookies, LocalStorage e SessionStorage. Isso evita que o estado de um sistema de
login de um projeto antigo interfira no teste do seu novo app de IA.
Simulação de Multi-tenancy: Para desenvolvedores que criam
aplicações SaaS (onde cada cliente possui seu próprio subdomínio, como
cliente1.meuapp.com), este recurso permite testar a resolução de subdomínios
localmente sem a necessidade de editar manualmente o arquivo hosts do sistema
operacional ou configurar proxies reversos complexos.
Segurança e
HTTPS Simplificado: O sufixo .localhost é tratado por navegadores como
o Chrome e Edge como uma origem "segura por padrão" (Secure Context). Isso
facilita a comunicação com APIs modernas e dispositivos de hardware que exigem
HTTPS, mantendo uma experiência de desenvolvimento fluida e sem alertas de
certificados inválidos.
Nota: Se você marcar essa opção e por algum motivo o navegador não abrir, pode ser que alguma configuração de rede ou Proxy na sua máquina esteja bloqueando subdomínios. Na dúvida, deixe desmarcado para garantir que o foco fique no código C#.
O que muda na configuração?
Arquivo
launchSettings.json: O template gera as URLs da sua aplicação usando o
nome do projeto como subdomínio. Por exemplo, para um projeto chamado MinhaApp,
as configurações http e https no arquivo launchSettings.json
serão alteradas para usar minhaapp.dev.localhost em vez de
apenas localhost .
Certificado HTTPS: O certificado de
desenvolvimento que o .NET instala agora é um curinga (wildcard) para
*.dev.localhost. Isso garante que o navegador confie no seu endereço
personalizado sem mostrar avisos de segurança .
Como o Navegador
"Entende" esse Endereço?
O sistema operacional, por si só, pode
não saber que meuprojeto.dev.localhost deve ser traduzido para o seu computador.
Navegadores Modernos: Funciona perfeitamente! Eles já são
programados para entender que qualquer domínio terminado em .localhost
deve ser redirecionado para o computador local (127.0.0.1). Você pode
simplesmente digitar o endereço e testar .
Outras Ferramentas
(curl, Postman, etc.): Para usar com ferramentas de linha de comando ou
APIs, talvez seja necessário adicionar uma entrada manual no arquivo hosts do
seu sistema operacional para fazer a resolução correta .
Em resumo, esta
opção é uma melhoria na experiência de desenvolvimento que oferece isolamento e
clareza ao trabalhar com múltiplos projetos .NET 10 simultaneamente.
A opção "Use the .dev.localhost TLD in the application URL" no .NET 10 representa uma evolução significativa na experiência de desenvolvimento com Blazor e ASP.NET Core.
Quando usar?
Esta opção é altamente recomendada para:
Desenvolvedores que trabalham com múltiplos projetos simultaneamente
Times que precisam testar integrações entre diferentes aplicações
Cenários onde o isolamento de cookies é importante (ex: autenticação)
Resumo
O .NET 10 simplifica o desenvolvimento ao
oferecer automaticamente endereços únicos e padronizados para cada projeto,
eliminando um problema comum do dia a dia sem exigir configuração manual
complexa. É um daqueles pequenos detalhes que fazem grande diferença na
produtividade e organização do ambiente de desenvolvimento.
Em uma frase:
Adeus localhost:5001 confuso, bem-vindo
meuprojeto.dev.localhost organizado
E estamos conversados...
"Volta, minha alma, para o teu repouso, pois o Senhor te fez bem"
Salmos 116:7
Referências:
NET - Unit of Work - Padrão Unidade de ...