Obsługa IIS podczas programowania w programie Visual Studio dla ASP.NET Core

Uwaga

Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.

Ostrzeżenie

Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz zasady pomocy technicznej platformy .NET i platformy .NET Core. Aby zapoznać się z aktualną wersją, zobacz artykuł w wersji .NET 10.

Przez Sourabh Shirhatti

W tym artykule opisano obsługę programu Visual Studio do debugowania aplikacji ASP.NET Core uruchomionych z usługami IIS w systemie Windows Server. W tym temacie opisano włączanie tego scenariusza i konfigurowanie projektu.

Wymagania wstępne

  • Visual Studio dla systemu Windows
  • obciążenie ASP.NET i tworzenie aplikacji internetowych
  • Obciążenie programistyczne dla wielu platform .NET Core
  • Certyfikat zabezpieczeń X.509 (dla obsługi protokołu HTTPS)

Włączanie usług IIS

  1. W systemie Windows przejdź do Panel sterowania>Programy>Programy i funkcje>Włącz lub wyłącz funkcje systemu Windows (po lewej stronie ekranu).
  2. Zaznacz pole wyboru Internet Information Services. Wybierz przycisk OK.

Instalacja usług IIS może wymagać ponownego uruchomienia systemu.

Konfigurowanie usług IIS

W IIS musi być skonfigurowana witryna internetowa z następującymi elementami:

  • Nazwa hosta: Zazwyczaj używa się Default Web Site z nazwą hostalocalhost. Jednak działa każda poprawna witryna IIS z unikatową nazwą hosta.
  • Powiązanie witryny
    • W przypadku aplikacji wymagających protokołu HTTPS utwórz powiązanie z portem 443 przy użyciu certyfikatu. Zazwyczaj używa się certyfikatu deweloperskiego IIS Express, ale dowolny ważny certyfikat będzie działać.
    • W przypadku aplikacji korzystających z protokołu HTTP potwierdź istnienie powiązania z portem 80 lub utwórz powiązanie z portem 80 dla nowej witryny.
    • Użyj pojedynczego powiązania dla protokołu HTTP lub HTTPS. Powiązanie z portami HTTP i HTTPS jednocześnie nie jest obsługiwane.

Włączanie obsługi usług IIS w czasie programowania w programie Visual Studio

  1. Uruchom instalatora programu Visual Studio.

  2. Wybierz opcję Modyfikuj przy instalacji programu Visual Studio, której planujesz używać do obsługi IIS w czasie programowania.

  3. W przypadku obciążenia ASP.NET i tworzenia aplikacji internetowych znajdź i zainstaluj składnik obsługi usług IIS w czasie programowania.

    Składnik znajduje się na liście w sekcji Opcjonalne w obszarze Szczegóły instalacji, pod pozycją Obsługa IIS podczas programowania, po prawej stronie obciążeń. Składnik instaluje moduł ASP.NET Core, który jest natywnym modułem usług IIS wymaganym do uruchamiania aplikacji ASP.NET Core za pomocą usług IIS.

Konfigurowanie projektu

Przekierowanie HTTPS

W przypadku nowego projektu wymagającego protokołu HTTPS zaznacz pole wyboru Skonfiguruj dla protokołu HTTPS w oknie Tworzenie nowej aplikacji internetowej ASP.NET Core. Zaznaczenie pola wyboru powoduje dodanie do aplikacji podczas jej tworzenia oprogramowania pośredniczącego przekierowania HTTPS i HSTS.

W przypadku istniejącego projektu, który wymaga protokołu HTTPS, użyj middleware HTTPS Redirection i HSTS w elemencie Startup.Configure. Aby uzyskać więcej informacji, zobacz Wymuszanie protokołu HTTPS w ASP.NET Core.

W projekcie, który używa protokołu HTTP, przekierowanie HTTPS i oprogramowanie pośredniczące HSTS nie są dodawane do aplikacji. Nie jest wymagana żadna konfiguracja aplikacji.

Profil uruchamiania usług IIS

Utwórz nowy profil uruchamiania, aby dodać obsługę IIS na etapie programowania:

  1. Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań. Wybierz Właściwości. Otwórz kartę Debugowanie.

  2. W polu Profil wybierz przycisk Nowy . W wyskakującym oknie nadaj profilowi nazwę „IIS”. Wybierz przycisk OK , aby utworzyć profil.

  3. Dla ustawienia Uruchom wybierz pozycję IIS z listy.

  4. Zaznacz pole wyboru Uruchom przeglądarkę i podaj adres URL punktu końcowego.

    Jeśli aplikacja wymaga protokołu HTTPS, użyj punktu końcowego HTTPS (https://). W przypadku protokołu HTTP użyj punktu końcowego HTTP (http://).

    Podaj tę samą nazwę hosta i ten sam port, których używa określona wcześniej konfiguracja usług IIS, zazwyczaj localhost.

    Podaj nazwę aplikacji na końcu adresu URL.

    Na przykład https://localhost/WebApplication1 (HTTPS) lub http://localhost/WebApplication1 (HTTP) są prawidłowymi adresami URL punktów końcowych.

  5. W sekcji Zmienne środowiskowe wybierz przycisk Dodaj. Podaj zmienną środowiskową o nazwieASPNETCORE_ENVIRONMENT i wartościDevelopment.

  6. W obszarze Ustawienia serwera sieci Web ustaw adres URL aplikacji na tę samą wartość używaną dla adresu URL punktu końcowego przeglądarki Uruchom.

  7. W ustawieniu Model hostingu w programie Visual Studio 2019 lub nowszej wersji wybierz opcję Domyślne, aby użyć modelu hostingu używanego w projekcie. Jeśli projekt ustawia właściwość <AspNetCoreHostingModel> w swoim pliku projektu, zostanie użyta wartość tej właściwości (InProcess lub OutOfProcess). Jeśli właściwość nie występuje, używany jest domyślny model hostingu aplikacji, czyli hostowanie w procesie. Jeśli aplikacja wymaga jawnego ustawienia modelu hostowania innego niż normalny model hostowania aplikacji, ustaw parametr Hosting Model na In Process lub Out Of Process, zgodnie z potrzebami.

  8. Zapisz profil.

Jeśli nie używasz programu Visual Studio, ręcznie dodaj profil uruchamiania do pliku launchSettings.json w folderze Właściwości . W poniższym przykładzie profil jest konfigurowany do używania protokołu 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"
      }
    }
  }
}

Upewnij się, że punkty końcowe applicationUrl i launchUrl są takie same i używają tego samego protokołu co konfiguracja powiązań w usłudze IIS — HTTP lub HTTPS.

Uruchamianie projektu

Uruchom program Visual Studio jako administrator:

  • Potwierdź, że lista rozwijana konfiguracji kompilacji jest ustawiona na Debug.
  • Ustaw przycisk Rozpocznij debugowanie na profil IIS i wybierz go, aby uruchomić aplikację.

Program Visual Studio może monitować o ponowne uruchomienie, jeśli nie jest uruchomiony jako administrator. Jeśli zostanie wyświetlony monit, uruchom ponownie program Visual Studio.

Jeśli jest używany niezaufany certyfikat programowania, przeglądarka może wymagać utworzenia wyjątku dla niezaufanego certyfikatu.

Uwaga

Debugowanie konfiguracji kompilacji Release przy użyciu Just My Code i optymalizacji kompilatora skutkuje pogorszeniem komfortu debugowania. Na przykład punkty przerwania nie są osiągane.

Dodatkowe zasoby

W tym artykule opisano obsługę programu Visual Studio do debugowania aplikacji ASP.NET Core uruchomionych z usługami IIS w systemie Windows Server. W tym temacie opisano włączanie tego scenariusza i konfigurowanie projektu.

Wymagania wstępne

  • Visual Studio dla systemu Windows
  • obciążenie ASP.NET i tworzenie aplikacji internetowych
  • Obciążenie programistyczne dla wielu platform .NET Core
  • Certyfikat zabezpieczeń X.509 (dla obsługi protokołu HTTPS)

Włączanie usług IIS

  1. W systemie Windows przejdź do Panel sterowania>Programy>Programy i funkcje>Włącz lub wyłącz funkcje systemu Windows (po lewej stronie ekranu).
  2. Zaznacz pole wyboru Internet Information Services. Wybierz przycisk OK.

Instalacja usług IIS może wymagać ponownego uruchomienia systemu.

Konfigurowanie usług IIS

W IIS musi być skonfigurowana witryna internetowa z następującymi elementami:

  • Nazwa hosta: Zazwyczaj używa się Default Web Site z nazwą hostalocalhost. Jednak działa każda poprawna witryna IIS z unikatową nazwą hosta.
  • Powiązanie witryny
    • W przypadku aplikacji wymagających protokołu HTTPS utwórz powiązanie z portem 443 przy użyciu certyfikatu. Zazwyczaj używa się certyfikatu deweloperskiego IIS Express, ale dowolny ważny certyfikat będzie działać.
    • W przypadku aplikacji korzystających z protokołu HTTP potwierdź istnienie powiązania post 80 lub utwórz powiązanie z portem 80 dla nowej witryny.
    • Użyj pojedynczego powiązania dla protokołu HTTP lub HTTPS. Powiązanie z portami HTTP i HTTPS jednocześnie nie jest obsługiwane.

Włączanie obsługi usług IIS w czasie programowania w programie Visual Studio

  1. Uruchom instalatora programu Visual Studio.

  2. Wybierz opcję Modyfikuj przy instalacji programu Visual Studio, której planujesz używać do obsługi IIS w czasie programowania.

  3. W przypadku obciążenia ASP.NET i tworzenia aplikacji internetowych znajdź i zainstaluj składnik obsługi usług IIS w czasie programowania.

    Składnik znajduje się na liście w sekcji Opcjonalne w obszarze Szczegóły instalacji, pod pozycją Obsługa IIS podczas programowania, po prawej stronie obciążeń. Składnik instaluje moduł ASP.NET Core, który jest natywnym modułem usług IIS wymaganym do uruchamiania aplikacji ASP.NET Core za pomocą usług IIS.

Konfigurowanie projektu

Przekierowanie HTTPS

W przypadku nowego projektu wymagającego protokołu HTTPS zaznacz pole wyboru Skonfiguruj dla protokołu HTTPS w oknie Tworzenie nowej aplikacji internetowej ASP.NET Core. Zaznaczenie pola wyboru powoduje dodanie do aplikacji podczas jej tworzenia oprogramowania pośredniczącego przekierowania HTTPS i HSTS.

W przypadku istniejącego projektu, który wymaga protokołu HTTPS, użyj middleware HTTPS Redirection i HSTS w elemencie Startup.Configure. Aby uzyskać więcej informacji, zobacz Wymuszanie protokołu HTTPS w ASP.NET Core.

W projekcie, który używa protokołu HTTP, przekierowanie HTTPS i oprogramowanie pośredniczące HSTS nie są dodawane do aplikacji. Nie jest wymagana żadna konfiguracja aplikacji.

Profil uruchamiania usług IIS

Utwórz nowy profil uruchamiania, aby dodać obsługę IIS na etapie programowania:

  1. Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań. Wybierz Właściwości. Otwórz kartę Debugowanie.

  2. W polu Profil wybierz przycisk Nowy . W wyskakującym oknie nadaj profilowi nazwę „IIS”. Wybierz przycisk OK , aby utworzyć profil.

  3. Dla ustawienia Uruchom wybierz pozycję IIS z listy.

  4. Zaznacz pole wyboru Uruchom przeglądarkę i podaj adres URL punktu końcowego.

    Jeśli aplikacja wymaga protokołu HTTPS, użyj punktu końcowego HTTPS (https://). W przypadku protokołu HTTP użyj punktu końcowego HTTP (http://).

    Podaj tę samą nazwę hosta i ten sam port, których używa określona wcześniej konfiguracja usług IIS, zazwyczaj localhost.

    Podaj nazwę aplikacji na końcu adresu URL.

    Na przykład https://localhost/WebApplication1 (HTTPS) lub http://localhost/WebApplication1 (HTTP) są prawidłowymi adresami URL punktów końcowych.

  5. W sekcji Zmienne środowiskowe wybierz przycisk Dodaj. Podaj zmienną środowiskową o nazwieASPNETCORE_ENVIRONMENT i wartościDevelopment.

  6. W obszarze Ustawienia serwera sieci Web ustaw adres URL aplikacji na tę samą wartość używaną dla adresu URL punktu końcowego przeglądarki Uruchom.

  7. W ustawieniu Model hostingu w programie Visual Studio 2019 lub nowszej wersji wybierz opcję Domyślne, aby użyć modelu hostingu używanego w projekcie. Jeśli projekt ustawia właściwość <AspNetCoreHostingModel> w swoim pliku projektu, zostanie użyta wartość tej właściwości (InProcess lub OutOfProcess). Jeśli właściwość nie jest obecna, jest używany domyślny model hostingu aplikacji, który jest poza procesem. Jeśli aplikacja wymaga jawnego ustawienia modelu hostowania innego niż normalny model hostowania aplikacji, ustaw parametr Hosting Model na In Process lub Out Of Process, zgodnie z potrzebami.

  8. Zapisz profil.

Jeśli nie używasz programu Visual Studio, ręcznie dodaj profil uruchamiania do pliku launchSettings.json w folderze Właściwości . W poniższym przykładzie profil jest konfigurowany do używania protokołu 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"
      }
    }
  }
}

Upewnij się, że punkty końcowe applicationUrl i launchUrl są takie same i używają tego samego protokołu co konfiguracja powiązań w usłudze IIS — HTTP lub HTTPS.

Uruchamianie projektu

Uruchom program Visual Studio jako administrator:

  • Potwierdź, że lista rozwijana konfiguracji kompilacji jest ustawiona na Debug.
  • Ustaw przycisk Rozpocznij debugowanie na profil IIS i wybierz go, aby uruchomić aplikację.

Program Visual Studio może monitować o ponowne uruchomienie, jeśli nie jest uruchomiony jako administrator. Jeśli zostanie wyświetlony monit, uruchom ponownie program Visual Studio.

Jeśli jest używany niezaufany certyfikat programowania, przeglądarka może wymagać utworzenia wyjątku dla niezaufanego certyfikatu.

Uwaga

Debugowanie konfiguracji kompilacji Release przy użyciu Just My Code i optymalizacji kompilatora skutkuje pogorszeniem komfortu debugowania. Na przykład punkty przerwania nie są osiągane.

Dodatkowe zasoby