Sdílet prostřednictvím


Jak používat vývojové tunely v sadě Visual Studio 2022 s aplikacemi ASP.NET Core

Funkce vývojových tunelů sady Visual Studio 2022 umožňuje ad hoc připojení mezi počítači, které se nemůžou přímo připojit k sobě. Vytvoří se adresa URL, která umožňuje všem zařízením s připojením k internetu připojit se k projektu ASP.NET Core, když běží na místním hostiteli.

Případy použití

Některé scénáře, které vývojové tunely umožňují:

  • Otestujte webovou aplikaci na jiných zařízeních, jako jsou mobilní telefony a tablety.
  • Otestujte aplikaci s externími službami. Můžete například testovat a ladit konektory Power Platform, rozhraní API služeb Azure Communication Services nebo webhooky Twilio.
  • Zpřístupněte aplikaci dočasně ostatním uživatelům přes internet, abyste mohli prezentaci nebo pozvat ostatní, aby vaši práci zkontrolovali na webové aplikaci nebo rozhraní API.
  • Alternativou k jiným řešením přesměrování portů.

Požadavky

  • Visual Studio 2022 verze 17.6 nebo novější s nainstalovanou úlohou vývoje pro ASP.NET a web . Abyste mohli vytvářet a používat vývojové tunely, musíte být přihlášeni k sadě Visual Studio. Tato funkce není dostupná v aplikaci Visual Studio pro Mac.
  • Jeden nebo více ASP.NET základních projektů. Tento článek používá řešení se dvěma ukázkovými projekty k předvedení funkce.

Vytvoření tunelu

Vytvoření tunelu:

V sadě Visual Studio 2022 otevřete webový projekt ASP.NET Core nebo řešení s alespoň jedním webovým projektem nastaveným jako spouštěný projekt.

V rozevíracím seznamu ladění vyberte Vytvořit tunel Dev Tunnels>.

Debug dropdown showing dev tunnels option with Create tunnel selected

Otevře se dialogové okno pro vytvoření tunelu.

Dev Tunnel creation dialog.

  • Vyberte účet, který chcete použít k vytvoření tunelu. Mezi typy účtů, které je možné použít k vytváření tunelů, patří Azure, účet Microsoft (MSA) a GitHub.
  • Zadejte název tunelu. Tento název identifikuje tunel v uživatelském rozhraní sady Visual Studio.
  • Zvolte typ tunelu, trvalý nebo dočasný:
    • Dočasný tunel získá novou adresu URL při každém spuštění sady Visual Studio.
    • Trvalý tunel získá stejnou adresu URL při každém spuštění sady Visual Studio. Další informace naleznete v části Trvalé a dočasné tunely dále v tomto článku.
  • Zvolte ověřování, které se vyžaduje pro přístup k tunelu. K dispozici jsou následující možnosti:
    • Privátní: Tunel je přístupný pouze pro účet, který ho vytvořil.
    • Organizace: Tunel je přístupný pro účty ve stejné organizaci jako ten, který ho vytvořil. Pokud je tato možnost vybrána pro osobní účet Microsoft (MSA), efekt je stejný jako výběr možnosti Soukromé. Podpora organizace pro účty GitHub není podporovaná.
    • Veřejné: Nevyžaduje se žádné ověřování. Tuto možnost zvolte jenom v případě, že je bezpečné zpřístupnit webovou aplikaci nebo rozhraní API komukoli na internetu.
  • Vyberte OK.

Visual Studio zobrazí potvrzení vytvoření tunelu:

Notification of successful tunnel creation.

Tunel se zobrazí v rozevíracím rámečku Dev Tunnels ladění:

Debug dropdown Dev Tunnels flyout showing new tunnel.

Zadání aktivního tunelu

Projekt nebo řešení může mít více tunelů, ale aktivní je pouze jeden po druhém. KontextOvé okno Dev Tunnels v rozevíracím seznamu ladění může určit aktivní tunel. Pokud je aktivní tunel, používá se pro všechny projekty ASP.NET Core, které jsou spuštěné v sadě Visual Studio. Jakmile je tunel vybraný jako aktivní, zůstane aktivní, dokud se sada Visual Studio neskončí. Na následujícím obrázku je aktivní můj dočasný tunel :

Debug dropdown showing active tunnel in Dev Tunnels flyout.

Výběrem možnosti Žádné v informačním rámečku zvolte možnost Nevyužít tunel. Po restartování sady Visual Studio se ve výchozím nastavení vrátí zpět na Žádné.

Použití tunelu

Když je tunel aktivní a Visual Studio spustí webovou aplikaci, otevře se webový prohlížeč na adresu URL tunelu místo adresy URL místního hostitele. Adresa URL tunelu vypadá jako v následujícím příkladu:

https://0pbvlk3m-7032.usw2.devtunnels.ms

Teď může jakýkoli ověřený uživatel otevřít stejnou adresu URL na jakémkoli jiném zařízení připojeném k internetu. Dokud projekt bude dál běžet místně, bude mít jakékoli zařízení s připojením k internetu přístup k webové aplikaci spuštěné na vývojovém počítači.

U webových projektů, které mají podporu prohlížeče, se na první žádosti odeslané na adresu URL tunelu z každého zařízení zobrazí stránka upozornění:

Dev tunnels notification page.

Jakmile je vybraná možnost Pokračovat , požadavek se přesměruje do místní webové aplikace. Tato stránka oznámení se nezobrazuje pro požadavky rozhraní API využívající vývojové tunely.

Použití tunelu k otestování na telefonu nebo tabletu

Pokud chcete otestovat webovou aplikaci z externího zařízení, jako je telefon nebo tablet, přejděte na adresu URL tunelu. Pokud chcete usnadnit reprodukci adresy URL na externím zařízení:

  • Přejděte na adresu URL tunelu v prohlížeči Edge na místním počítači.
  • Vygenerujte kód QR na adresu URL v prohlížeči Edge na místním počítači:
    • Vyberte panel adres URL a zobrazí se tlačítko kódu QR.
    • Výběrem tlačítka kódu QR vygenerujte a zobrazte kód QR. QR code with button to create it highlighted.
  • Naskenujte tento kód QR telefonem nebo tabletem a přejděte na adresu URL.

Okno výstupu Dev Tunnels

Pokud chcete zobrazit adresu URL tunelu spuštěného projektu, v rozevíracím seznamu Zobrazit výstup vyberte Vývojové tunely.

Dev Tunnels output window.

Toto okno je zvlášť užitečné pro projekty, které ve výchozím nastavení neotevře prohlížeč. Například při práci s funkcí Azure Functions to může být nejjednodušší způsob, jak zjistit veřejnou adresu URL, kterou používá vývojový tunel.

Okno nástroje Dev Tunnels

Zobrazení a správa vývojových tunelů v okně nástroje Dev Tunnels :

Dev Tunnels tool window.

Okno Dev Tunnels otevřete tak, že v rozevíracím seznamu ladění vyberete možnost nabídky Zobrazit okno Dev Tunnels. Případně vyberte Zobrazit>další vývojové tunely Windows.>

V okně Dev Tunnels vytvořte nový tunel výběrem zeleného + tlačítka.

Odstraňte tunel pomocí červeného x tlačítka napravo od tunelu.

Místní nabídka tunelu nabízí následující možnosti:

  • Vymazat aktivní tunel: Zobrazí se, když je tunel nakonfigurovaný jako aktivní (označený zaškrtnutím na levé straně), resetuje se tak, aby řešení nepoužívá tunel.
  • Nastavit aktivní tunel: Zobrazí se pro tunely, které nejsou nakonfigurované jako aktivní.
  • Kopírování přístupového tokenu tunelu: Poskytuje se pro scénáře, kdy se tunel vytváří s privátním přístupem nebo přístupem k organizaci a aplikace je webové rozhraní API. Pokud se chcete ověřit pro tunel, zkopírujte přístupový token tunelu a vložte ho jako hlavičku formuláře X-Tunnel-Authorization tunnel <TOKEN> v požadavku. Pokud není tato hlavička zadaná, požadavek se zablokuje, protože kontrola ověřování selhala.
  • Odebrat

Proměnné prostředí tunelové adresy URL

Funkce vývojových tunelů poskytuje způsob, jak získat adresu URL tunelu projektu programově za běhu. Při spuštění aplikace, která používá tunel, Visual Studio vytvoří proměnnou VS_TUNNEL_URLprostředí . Hodnota VS_TUNNEL_URL je adresa URL tunelu, který se používá pro aktuální projekt. VS_TUNNEL_URL může být užitečné při integraci aplikace s externí službou, kde musí být adresa URL tunelu předána externí službě.

Pokud je pro spuštění v sadě Visual Studio nakonfigurovaných více projektů ASP.NET Core, aplikace, která se spouští, získá proměnnou prostředí pro každý projekt, který se spustil dříve. Vzor pro tento název proměnné je VS_TUNNEL_URL_{ProjectName}, kde {ProjectName} je název druhého projektu. Představte si například tento příklad znázorňující dva projekty nastavené na spuštění:

Startup projects selection page showing MyWebApi and MyWebApp both starting, in that order.

Vzhledem k tomu, že MyWebApi je nad MyWebApp, je spuštěna před projektem MyWebApp. Po spuštění projektu MyWebApi obdrží adresu URL tunelu VS_TUNNEL_URL v proměnné prostředí. Po spuštění projektu MyWebApp obdrží vlastní adresu URL tunelu a adresa URL VS_TUNNEL_URL tunelu jiného projektu se zobrazí v VS_TUNNEL_URL_MyWebApi proměnné prostředí.

Pro ilustraci byly do souboru Program.cs v MyWebApp přidány následující zvýrazněné řádky kódu:

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")}");

Po spuštění webové aplikace bude výstup konzoly vypadat jako v následujícím příkladu:

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

Informace o nastavení více projektů po spuštění naleznete v tématu Postupy: Nastavení více projektů po spuštění.

Trvalé a dočasné tunely

Trvalý tunel je ten, který po ukončení a restartování sady Visual Studio používá stejnou adresu URL. Adresa URL, která se nezmění, může být užitečná při integraci webové aplikace s externí službou. Například implementace webhooku GitHubu nebo vývoj rozhraní API pro integraci s aplikací Power Platform. V takových případech může být potřeba zadat adresu URL zpětného volání externí služby. U trvalého tunelu je potřeba adresu URL externí služby nakonfigurovat jenom jednou. Při použití dočasného tunelu musí být adresa URL tunelu nakonfigurovaná při každém restartování sady Visual Studio.

Trvalý neznamená, že tunel funguje, když visual Studio není otevřené. Adresa URL tunelu se připojí k místnímu počítači jenom v případě, že projekt ASP.NET Core, ke kterému se adresa URL tunelu připojuje, běží v sadě Visual Studio.

Dočasný tunel je v pořádku, když adresa URL vývojového tunelu musí chvíli fungovat. Například sdílení probíhající práce na webové aplikaci s ostatními nebo testování aplikace na externím zařízení. V některých případech může být nejlepší získat novou adresu URL při každém spuštění sady Visual Studio.

Viz také

Následující zdroje informací používají dřívější verzi Preview funkce vývojových tunelů, takže jejich části jsou zastaralé: