Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O recurso de túneis de desenvolvimento do Visual Studio 2022 permite conexões ad-hoc entre máquinas que não podem se conectar diretamente umas às outras. É criada uma URL que permite que qualquer dispositivo com uma conexão com a Internet se conecte a um projeto ASP.NET Core enquanto ele é executado no localhost.
Casos de uso
Alguns dos cenários que os túneis de desenvolvimento permitem:
- Teste uma aplicação Web noutros dispositivos, como telemóveis e tablets.
- Teste um aplicativo com serviços externos. Por exemplo, teste e depure conectores da Power Platform, APIs dos Serviços de Comunicação do Azure ou webhooks do Twilio.
- Disponibilize temporariamente uma aplicação a outras pessoas através da Internet, para uma apresentação ou para convidar outras pessoas a rever o seu trabalho numa aplicação Web ou API.
- Como alternativa a outras soluções de encaminhamento de portas.
Pré-requisitos
- Visual Studio 2022 versão 17.6 ou posterior com a carga de trabalho de desenvolvimento ASP.NET e Web instalada. Você precisa estar conectado ao Visual Studio para criar e usar túneis de desenvolvimento.
- Um ou mais ASP.NET projetos principais. Este artigo usa uma solução com dois projetos de exemplo para demonstrar o recurso.
Criar um túnel
Para criar um túnel:
No Visual Studio 2022, abra um projeto Web ASP.NET Core ou uma solução com pelo menos um projeto Web definido como um projeto de inicialização.
Na lista suspensa de depuração, selecione Dev Tunnels>Criar Um Túnel.
A caixa de diálogo de criação do túnel é aberta.
- Selecione a conta a ser usada para criar o túnel. Os tipos de conta que podem ser usados para criar túneis incluem Azure, Conta da Microsoft (MSA) e GitHub.
- Insira um nome para o túnel. Esse nome identifica o túnel na interface do usuário do Visual Studio.
- Escolha o tipo de túnel, Persistente ou Temporário:
- Um túnel temporário obtém uma nova URL sempre que o Visual Studio é iniciado.
- Um túnel persistente obtém a mesma URL sempre que o Visual Studio é iniciado. Para obter mais informações, consulte Túneis persistentes versus temporários mais adiante neste artigo.
- Escolha a autenticação necessária para o acesso ao túnel. As seguintes opções estão disponíveis:
- Privado: O túnel é acessível apenas à conta que o criou.
- Organização: O túnel é acessível a contas na mesma organização que a que o criou. Se esta opção estiver selecionada para uma conta pessoal da Microsoft (MSA), o efeito será o mesmo que selecionar Privado. O suporte da organização para contas do Github não é suportado.
- Público: Não é necessária autenticação. Escolha esta opção apenas se for seguro tornar a aplicação Web ou a API acessível a qualquer pessoa na Internet.
- Selecione OK.
O Visual Studio exibe a confirmação da criação do túnel:
O túnel aparece no submenu suspenso Dev Tunnels de depuração:
Especificar o túnel ativo
Um projeto ou solução pode ter vários túneis, mas apenas um de cada vez está ativo. O desdobrável Túneis de desenvolvimento na lista de depuração pode especificar o túnel ativo. Quando há um túnel ativo, ele é usado para todos os projetos ASP.NET Core que são iniciados no Visual Studio. Depois que um túnel é selecionado como ativo, ele permanece ativo até que o Visual Studio seja fechado. Na ilustração a seguir, Meu Túnel Temporário está ativo:
Escolha não usar um túnel selecionando Nenhum no submenu. Quando o Visual Studio é reiniciado, o padrão volta para Nenhum.
Use um túnel
Quando um túnel está ativo e o Visual Studio executa um aplicativo Web, o navegador da Web abre para uma URL de túnel em vez de uma URL de host local. A URL do túnel se parece com o exemplo a seguir:
https://0pbvlk3m-7032.usw2.devtunnels.ms
Agora, qualquer usuário autenticado pode abrir a mesma URL em qualquer outro dispositivo conectado à Internet. Contanto que o projeto continue a ser executado localmente, qualquer dispositivo com uma conexão com a Internet pode acessar o aplicativo Web que está sendo executado em uma máquina de desenvolvimento.
Para projetos da Web que têm suporte a navegadores, uma página de aviso é mostrada na primeira solicitação enviada para a URL do túnel de cada dispositivo:
Depois que Continuar for selecionado, a solicitação será roteada para o aplicativo Web local. Esta página de notificação não é mostrada para solicitações de API usando túneis de desenvolvimento.
Usar um túnel para testar em um telefone ou tablet
Para testar um aplicativo Web a partir de um dispositivo externo, como um telefone ou tablet, navegue até a URL do túnel. Para facilitar a reprodução do URL no dispositivo externo:
- Navegue até a URL do túnel em um navegador Edge na máquina local.
- Gere um código QR para o URL no navegador Edge na máquina local:
- Selecione a barra de URL e o botão de código QR aparece.
- Selecione o botão QR code para gerar e visualizar o QR code.
- Digitalize este código QR com um telefone ou tablet para navegar até o URL.
Janela de resultados dos Dev Tunnels
Para mostrar a URL de um túnel de um projeto em execução, selecione Dev Tunnels na lista desdobrável Mostrar a saída de.
Esta janela é especialmente útil para projetos que não abrem um navegador por padrão. Por exemplo, ao trabalhar com uma Função do Azure, essa pode ser a maneira mais fácil de descobrir a URL pública que está sendo usada pelo túnel de desenvolvimento.
Janela da ferramenta Dev Tunnels
Visualize e gerencie túneis de desenvolvimento na janela da ferramenta Túneis de desenvolvimento :
Para abrir a janela Dev Tunnels, selecione a opção de menu Mostrar janela Dev Tunnels no menu suspenso de depuração. Como alternativa, selecione Ver>Outras Janelas>Túneis de Desenvolvimento.
Na janela Dev Tunnels , crie um novo túnel selecionando o botão verde + .
Exclua um túnel usando o botão vermelho x à direita do túnel.
O menu de contexto de um túnel fornece as seguintes opções:
- Limpar túnel ativo: mostrado quando um túnel é configurado como ativo (indicado pela marca de seleção no lado esquerdo), isso o redefine para que a solução não esteja usando um túnel.
- Criar túnel ativo: mostrado para túneis que não estão configurados como ativos.
-
Copiar Token de Acesso ao Túnel: Fornecido para cenários em que um túnel é criado com acesso privado ou organizacional e o aplicativo é uma API da Web. Para autenticar o túnel, copie e cole o token de acesso ao túnel como um cabeçalho do formulário
X-Tunnel-Authorization tunnel <TOKEN>na solicitação. Se esse cabeçalho não for especificado, a solicitação será bloqueada porque a verificação de autenticação falhou. - Remover
Variáveis de ambiente de URL de túnel
O recurso de túneis de desenvolvimento fornece uma maneira de obter a URL do túnel de um projeto programaticamente em tempo de execução. Quando um aplicativo é iniciado que usa um túnel, o Visual Studio cria a variável VS_TUNNEL_URLde ambiente . O VS_TUNNEL_URL valor é a URL para o túnel usado para o projeto atual.
VS_TUNNEL_URL pode ser útil ao integrar o aplicativo com um serviço externo, onde a URL do túnel precisa ser passada para o serviço externo.
Se vários projetos ASP.NET Core estiverem configurados para iniciar no Visual Studio, o aplicativo que está iniciando obterá uma variável de ambiente para qualquer projeto iniciado antes dele. O padrão para esse nome de variável é VS_TUNNEL_URL_{ProjectName}, onde {ProjectName} é o nome do outro projeto. Por exemplo, considere este exemplo mostrando dois projetos definidos para começar:
Como MyWebApi está acima de MyWebApp, ele é iniciado antes do projeto MyWebApp. Quando o projeto MyWebApi é iniciado, ele recebe a sua URL de túnel na variável de ambiente VS_TUNNEL_URL. Quando o projeto MyWebApp é iniciado, ele recebe a sua própria URL de túnel em VS_TUNNEL_URL e a URL de túnel do outro projeto é fornecida na variável de ambiente VS_TUNNEL_URL_MyWebApi.
Para ilustrar, as seguintes linhas de código destacadas foram adicionadas ao arquivo Program.cs no MyWebApp:
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine($"Tunnel URL: {Environment.
GetEnvironmentVariable("VS_TUNNEL_URL")}");
Console.WriteLine($"API project tunnel URL: {Environment.
GetEnvironmentVariable("VS_TUNNEL_URL_MyWebApi")}");
Quando o aplicativo Web é iniciado, a saída do console se parece com o exemplo a seguir:
Tunnel URL: https://lxm0ltdt-7175.usw2.devtunnels.ms/
API project tunnel URL: https://lxm0ltdt-7042.usw2.devtunnels.ms/
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:7175
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5228
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\DevTunnelsDemo\MyWebApp
Para obter informações sobre como configurar vários projetos de inicialização, consulte Como definir vários projetos de inicialização.
Túneis persistentes versus temporários
Um túnel persistente é aquele que usa a mesma URL depois de sair e reiniciar o Visual Studio. Ter uma URL que não muda pode ser útil ao integrar um aplicativo Web com um serviço externo. Por exemplo, implementar um webhook do GitHub ou desenvolver uma API para integração com um aplicativo Power Platform. Nesses casos, talvez seja necessário especificar a URL de retorno de chamada para o serviço externo. Com um túnel persistente, a URL do serviço externo só precisa ser configurada uma vez. Usando um túnel temporário, a URL do túnel deve ser configurada sempre que o Visual Studio for reiniciado.
Persistente não significa que o túnel funciona quando o Visual Studio não está aberto. Uma URL de túnel se conecta à máquina local somente se o projeto ASP.NET Core ao qual a URL de túnel se conecta estiver em execução no Visual Studio.
Um túnel temporário é bom quando a URL do túnel de desenvolvimento precisa funcionar por um curto período de tempo. Por exemplo, compartilhar trabalhos em andamento em um aplicativo Web com outras pessoas ou testar um aplicativo em um dispositivo externo. Em alguns casos, talvez seja melhor obter uma nova URL sempre que o Visual Studio for iniciado.
Ver também
Os recursos a seguir usam uma versão de visualização antecipada do recurso de túneis de desenvolvimento, portanto, partes deles estão desatualizadas: