Obsługa usług IIS w czasie opracowywania w programie Visual Studio dla platformy ASP.NET Core

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 pozycji Panel sterowania> 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

Usługi IIS muszą mieć witrynę internetową skonfigurowaną z następującymi elementami:

  • Nazwa hosta: zazwyczaj domyślna witryna sieci Web jest używana z nazwą hosta .localhost Jednak każda prawidłowa witryna internetowa usług IIS o unikatowej nazwie hosta działa.
  • Powiązanie witryny
    • W przypadku aplikacji wymagających protokołu HTTPS utwórz powiązanie z portem 443 przy użyciu certyfikatu. Zazwyczaj używany jest certyfikat programowania ekspresowego usług IIS, ale każdy prawidłowy certyfikat 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 pozycję Modyfikuj dla instalacji programu Visual Studio, która ma być używana do obsługi czasu programowania usług IIS.

  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 Czas programowania obsługa usług IIS w panelu Szczegóły instalacji 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

Przekierowywanie 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 przekierowania HTTPS i oprogramowania pośredniczącego HSTS do aplikacji po jej utworzeniu.

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

W przypadku projektu korzystającego z protokołu HTTP, przekierowania HTTPS i oprogramowania pośredniczącego 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ę usług IIS w czasie 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 . Nadaj profilowi nazwę "IIS" w oknie podręcznym. 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 taką samą nazwę hosta i port, jak 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 nazwie ASPNETCORE_ENVIRONMENT i wartości .Development

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

  7. W przypadku ustawienia Model hostingu w programie Visual Studio 2019 lub nowszym wybierz pozycję Domyślne, aby użyć modelu hostingu używanego przez projekt. Jeśli projekt ustawia <AspNetCoreHostingModel> właściwość w pliku projektu, zostanie użyta wartość 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 procesem. Jeśli aplikacja wymaga jawnego ustawienia modelu hostingu innego niż normalny model hostingu aplikacji, ustaw model hostingu na In Process wartość lub Out Of Process w razie potrzeby.

  8. Zapisz profil.

Jeśli nie używasz programu Visual Studio, ręcznie dodaj profil uruchamiania do pliku launch Ustawienia.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 applicationUrl punkty końcowe i launchUrl są zgodne i używają tego samego protokołu co konfiguracja powiązania usług IIS, HTTP lub HTTPS.

Uruchamianie projektu

Uruchom program Visual Studio jako administrator:

  • Upewnij się, że lista rozwijana konfiguracji kompilacji jest ustawiona na Debugowanie.
  • Ustaw przycisk Rozpocznij debugowanie na profil usług IIS i wybierz przycisk , 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 wydania przy użyciu funkcji Just My Code i optymalizacji kompilatora powoduje obniżenie wydajności środowiska. 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 pozycji Panel sterowania> 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

Usługi IIS muszą mieć witrynę internetową skonfigurowaną z następującymi elementami:

  • Nazwa hosta: zazwyczaj domyślna witryna sieci Web jest używana z nazwą hosta .localhost Jednak każda prawidłowa witryna internetowa usług IIS o unikatowej nazwie hosta działa.
  • Powiązanie witryny
    • W przypadku aplikacji wymagających protokołu HTTPS utwórz powiązanie z portem 443 przy użyciu certyfikatu. Zazwyczaj używany jest certyfikat programowania ekspresowego usług IIS, ale każdy prawidłowy certyfikat 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 pozycję Modyfikuj dla instalacji programu Visual Studio, która ma być używana do obsługi czasu programowania usług IIS.

  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 Czas programowania obsługa usług IIS w panelu Szczegóły instalacji 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

Przekierowywanie 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 przekierowania HTTPS i oprogramowania pośredniczącego HSTS do aplikacji po jej utworzeniu.

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

W przypadku projektu korzystającego z protokołu HTTP, przekierowania HTTPS i oprogramowania pośredniczącego 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ę usług IIS w czasie 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 . Nadaj profilowi nazwę "IIS" w oknie podręcznym. 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 taką samą nazwę hosta i port, jak 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 nazwie ASPNETCORE_ENVIRONMENT i wartości .Development

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

  7. W przypadku ustawienia Model hostingu w programie Visual Studio 2019 lub nowszym wybierz pozycję Domyślne, aby użyć modelu hostingu używanego przez projekt. Jeśli projekt ustawia <AspNetCoreHostingModel> właściwość w pliku projektu, zostanie użyta wartość 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 hostingu innego niż normalny model hostingu aplikacji, ustaw model hostingu na In Process wartość lub Out Of Process w razie potrzeby.

  8. Zapisz profil.

Jeśli nie używasz programu Visual Studio, ręcznie dodaj profil uruchamiania do pliku launch Ustawienia.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 applicationUrl punkty końcowe i launchUrl są zgodne i używają tego samego protokołu co konfiguracja powiązania usług IIS, HTTP lub HTTPS.

Uruchamianie projektu

Uruchom program Visual Studio jako administrator:

  • Upewnij się, że lista rozwijana konfiguracji kompilacji jest ustawiona na Debugowanie.
  • Ustaw przycisk Rozpocznij debugowanie na profil usług IIS i wybierz przycisk , 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 wydania przy użyciu funkcji Just My Code i optymalizacji kompilatora powoduje obniżenie wydajności środowiska. Na przykład punkty przerwania nie są osiągane.

Dodatkowe zasoby