Podpora služby IIS při vývoji v sadě Visual Studio pro ASP.NET Core

Autor: Sourabh Shirhatti

Tento článek popisuje podporu sady Visual Studio pro ladění ASP.NET základních aplikací spuštěných se službou IIS na Windows Serveru. Toto téma vás provede povolením tohoto scénáře a nastavením projektu.

Požadavky

  • Visual Studio pro Windows
  • úloha vývoje pro ASP.NET a web
  • Úloha vývoje pro různé platformy .NET Core
  • Certifikát zabezpečení X.509 (pro podporu HTTPS)

Povolení služby IIS

  1. Ve Windows přejděte na Ovládací panely> Programs>Programs and Features>Turn Windows features on or off (left side of the screen).
  2. Zaškrtněte políčko Internetová informační služba. Vyberte OK.

Instalace služby IIS může vyžadovat restartování systému.

Konfigurace služby IIS

Služba IIS musí mít web nakonfigurovaný takto:

  • Název hostitele: Obvykle se výchozí web používá s názvem hostitele .localhost Jakýkoli platný web IIS s jedinečným názvem hostitele však funguje.
  • Vazby webu
    • Pro aplikace, které vyžadují HTTPS, vytvořte vazbu na port 443 s certifikátem. Obvykle se používá certifikát IIS Express Development Certificate, ale funguje jakýkoli platný certifikát.
    • U aplikací, které používají PROTOKOL HTTP, ověřte existenci vazby na port 80 nebo vytvořte vazbu na port 80 pro nový web.
    • Pro HTTP nebo HTTPS použijte jednu vazbu. Vazba na porty HTTP i HTTPS se současně nepodporuje.

Povolení podpory služby IIS v čase vývoje v sadě Visual Studio

  1. Spusťte instalační program sady Visual Studio.

  2. Vyberte Upravit pro instalaci sady Visual Studio, kterou chcete použít pro podporu vývoje služby IIS.

  3. Pro úlohy vývoje ASP.NET a webu vyhledejte a nainstalujte komponentu podpory služby IIS v době vývoje.

    Komponenta je uvedená v části Volitelné v části Podpora služby IIS v době vývoje na panelu Podrobností instalace napravo od úloh. Komponenta nainstaluje modul ASP.NET Core, což je nativní modul SLUŽBY IIS potřebný ke spouštění aplikací ASP.NET Core se službou IIS.

Konfigurace projektu

Přesměrování HTTPS

U nového projektu, který vyžaduje HTTPS, zaškrtněte políčko Konfigurovat pro HTTPS v okně Vytvořit novou webovou aplikaci ASP.NET Core. Zaškrtnutím políčka přidáte do aplikace přesměrování HTTPS a middleware HSTS při jeho vytvoření.

Pro existující projekt, který vyžaduje HTTPS, použijte přesměrování HTTPS a HSTS Middleware v Startup.Configure. Další informace najdete v tématu Vynucení HTTPS v ASP.NET Core.

Pro projekt, který používá HTTP, se do aplikace nepřidá přesměrování HTTPS a middleware HSTS. Nevyžaduje se žádná konfigurace aplikace.

Profil spuštění služby IIS

Vytvořte nový spouštěcí profil pro přidání podpory služby IIS v čase vývoje:

  1. Klikněte pravým tlačítkem myši na projekt v Průzkumník řešení. Vyberte Vlastnosti. Otevřete kartu Ladění.

  2. V části Profil vyberte tlačítko Nový . V automaticky otevírané okně pojmenujte profil IIS. Vyberte OK a vytvořte profil.

  3. Pro nastavení Spuštění vyberte v seznamu službu IIS.

  4. Zaškrtněte políčko Pro spuštění prohlížeče a zadejte adresu URL koncového bodu.

    Pokud aplikace vyžaduje HTTPS, použijte koncový bod HTTPS (https://). Pro HTTP použijte koncový bod HTTP (http://).

    Zadejte stejný název hostitele a port jako dříve zadaná konfigurace služby IIS, obvykle localhost.

    Zadejte název aplikace na konci adresy URL.

    Například https://localhost/WebApplication1 (HTTPS) nebo http://localhost/WebApplication1 (HTTP) jsou platné adresy URL koncových bodů.

  5. V části Proměnné prostředí vyberte tlačítko Přidat. Zadejte proměnnou prostředí s názvemASPNETCORE_ENVIRONMENT a hodnotouDevelopment.

  6. V oblasti webového serveru Nastavení nastavte adresu URL aplikace na stejnou hodnotu jako pro adresu URL koncového bodu pro spuštění prohlížeče.

  7. Pro nastavení Modelu hostování v sadě Visual Studio 2019 nebo novější vyberte Výchozí, pokud chcete použít model hostování používaný projektem. Pokud projekt nastaví <AspNetCoreHostingModel> vlastnost v souboru projektu, použije se hodnota vlastnosti (InProcess nebo OutOfProcess). Pokud vlastnost není k dispozici, použije se výchozí model hostování aplikace, který je v procesu. Pokud aplikace vyžaduje explicitní nastavení modelu hostování, které se liší od normálního modelu hostování aplikace, nastavte model hostování na hodnotu buď In Process nebo Out Of Process podle potřeby.

  8. Uložte profil.

Pokud sadu Visual Studio nepoužíváte, přidejte do souboru launch ručně spouštěcí profil Nastavení.json ve složce Vlastnosti. Následující příklad nakonfiguruje profil tak, aby používal protokol HTTPS:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "https://localhost/WebApplication1",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "https://localhost/WebApplication1",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Ověřte, že se applicationUrl koncové launchUrl body shodují a používají stejný protokol jako konfigurace vazby SLUŽBY IIS, a to buď HTTP, nebo HTTPS.

Spuštění projektu

Spusťte Visual Studio jako správce:

  • Ověřte, že rozevírací seznam konfigurace sestavení je nastavený na Ladit.
  • Nastavte tlačítko Spustit ladění na profil služby IIS a vyberte tlačítko pro spuštění aplikace.

Visual Studio může restartovat, pokud není spuštěný jako správce. Pokud se zobrazí výzva, restartujte Visual Studio.

Pokud se použije nedůvěryhodný vývojový certifikát, může prohlížeč vyžadovat vytvoření výjimky pro nedůvěryhodný certifikát.

Poznámka

Ladění konfigurace sestavení vydané verze pomocí optimalizace just My Code a kompilátoru vede ke snížení výkonu. Například zarážky se nenarazí.

Další prostředky

Tento článek popisuje podporu sady Visual Studio pro ladění ASP.NET základních aplikací spuštěných se službou IIS na Windows Serveru. Toto téma vás provede povolením tohoto scénáře a nastavením projektu.

Požadavky

  • Visual Studio pro Windows
  • úloha vývoje pro ASP.NET a web
  • Úloha vývoje pro různé platformy .NET Core
  • Certifikát zabezpečení X.509 (pro podporu HTTPS)

Povolení služby IIS

  1. Ve Windows přejděte na Ovládací panely> Programs>Programs and Features>Turn Windows features on or off (left side of the screen).
  2. Zaškrtněte políčko Internetová informační služba. Vyberte OK.

Instalace služby IIS může vyžadovat restartování systému.

Konfigurace služby IIS

Služba IIS musí mít web nakonfigurovaný takto:

  • Název hostitele: Obvykle se výchozí web používá s názvem hostitele .localhost Jakýkoli platný web IIS s jedinečným názvem hostitele však funguje.
  • Vazby webu
    • Pro aplikace, které vyžadují HTTPS, vytvořte vazbu na port 443 s certifikátem. Obvykle se používá certifikát IIS Express Development Certificate, ale funguje jakýkoli platný certifikát.
    • U aplikací, které používají protokol HTTP, potvrďte existenci vazby k publikování 80 nebo vytvořte vazbu na port 80 pro nový web.
    • Pro HTTP nebo HTTPS použijte jednu vazbu. Vazba na porty HTTP i HTTPS se současně nepodporuje.

Povolení podpory služby IIS v čase vývoje v sadě Visual Studio

  1. Spusťte instalační program sady Visual Studio.

  2. Vyberte Upravit pro instalaci sady Visual Studio, kterou chcete použít pro podporu vývoje služby IIS.

  3. Pro úlohy vývoje ASP.NET a webu vyhledejte a nainstalujte komponentu podpory služby IIS v době vývoje.

    Komponenta je uvedená v části Volitelné v části Podpora služby IIS v době vývoje na panelu Podrobností instalace napravo od úloh. Komponenta nainstaluje modul ASP.NET Core, což je nativní modul SLUŽBY IIS potřebný ke spouštění aplikací ASP.NET Core se službou IIS.

Konfigurace projektu

Přesměrování HTTPS

U nového projektu, který vyžaduje HTTPS, zaškrtněte políčko Konfigurovat pro HTTPS v okně Vytvořit novou webovou aplikaci ASP.NET Core. Zaškrtnutím políčka přidáte do aplikace přesměrování HTTPS a middleware HSTS při jeho vytvoření.

Pro existující projekt, který vyžaduje HTTPS, použijte přesměrování HTTPS a HSTS Middleware v Startup.Configure. Další informace najdete v tématu Vynucení HTTPS v ASP.NET Core.

Pro projekt, který používá HTTP, se do aplikace nepřidá přesměrování HTTPS a middleware HSTS. Nevyžaduje se žádná konfigurace aplikace.

Profil spuštění služby IIS

Vytvořte nový spouštěcí profil pro přidání podpory služby IIS v čase vývoje:

  1. Klikněte pravým tlačítkem myši na projekt v Průzkumník řešení. Vyberte Vlastnosti. Otevřete kartu Ladění.

  2. V části Profil vyberte tlačítko Nový . V automaticky otevírané okně pojmenujte profil IIS. Vyberte OK a vytvořte profil.

  3. Pro nastavení Spuštění vyberte v seznamu službu IIS.

  4. Zaškrtněte políčko Pro spuštění prohlížeče a zadejte adresu URL koncového bodu.

    Pokud aplikace vyžaduje HTTPS, použijte koncový bod HTTPS (https://). Pro HTTP použijte koncový bod HTTP (http://).

    Zadejte stejný název hostitele a port jako dříve zadaná konfigurace služby IIS, obvykle localhost.

    Zadejte název aplikace na konci adresy URL.

    Například https://localhost/WebApplication1 (HTTPS) nebo http://localhost/WebApplication1 (HTTP) jsou platné adresy URL koncových bodů.

  5. V části Proměnné prostředí vyberte tlačítko Přidat. Zadejte proměnnou prostředí s názvemASPNETCORE_ENVIRONMENT a hodnotouDevelopment.

  6. V oblasti webového serveru Nastavení nastavte adresu URL aplikace na stejnou hodnotu jako pro adresu URL koncového bodu pro spuštění prohlížeče.

  7. Pro nastavení Modelu hostování v sadě Visual Studio 2019 nebo novější vyberte Výchozí, pokud chcete použít model hostování používaný projektem. Pokud projekt nastaví <AspNetCoreHostingModel> vlastnost v souboru projektu, použije se hodnota vlastnosti (InProcess nebo OutOfProcess). Pokud vlastnost není k dispozici, použije se výchozí model hostování aplikace, který je mimo proces. Pokud aplikace vyžaduje explicitní nastavení modelu hostování, které se liší od normálního modelu hostování aplikace, nastavte model hostování na hodnotu buď In Process nebo Out Of Process podle potřeby.

  8. Uložte profil.

Pokud sadu Visual Studio nepoužíváte, přidejte do souboru launch ručně spouštěcí profil Nastavení.json ve složce Vlastnosti. Následující příklad nakonfiguruje profil tak, aby používal protokol HTTPS:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "https://localhost/WebApplication1",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS": {
      "commandName": "IIS",
      "launchBrowser": true,
      "launchUrl": "https://localhost/WebApplication1",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Ověřte, že se applicationUrl koncové launchUrl body shodují a používají stejný protokol jako konfigurace vazby SLUŽBY IIS, a to buď HTTP, nebo HTTPS.

Spuštění projektu

Spusťte Visual Studio jako správce:

  • Ověřte, že rozevírací seznam konfigurace sestavení je nastavený na Ladit.
  • Nastavte tlačítko Spustit ladění na profil služby IIS a vyberte tlačítko pro spuštění aplikace.

Visual Studio může restartovat, pokud není spuštěný jako správce. Pokud se zobrazí výzva, restartujte Visual Studio.

Pokud se použije nedůvěryhodný vývojový certifikát, může prohlížeč vyžadovat vytvoření výjimky pro nedůvěryhodný certifikát.

Poznámka

Ladění konfigurace sestavení vydané verze pomocí optimalizace just My Code a kompilátoru vede ke snížení výkonu. Například zarážky se nenarazí.

Další prostředky