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ę debugowania aplikacji ASP.NET Core uruchomionych przy użyciu usług IIS w systemie Windows Server. W tym temacie przedstawiono proces włączania tego scenariusza i konfigurowania projektu.

Wymagania wstępne

  • Program Visual Studio dla systemu Windows
  • obciążenie ASP.NET i tworzenie aplikacji internetowych
  • Obciążenie programowania międzyplatformowego platformy .NET Core
  • Certyfikat zabezpieczeń X.509 (na potrzeby obsługi protokołu HTTPS)

Włączanie usług IIS

  1. W systemie Windows przejdź do pozycji 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

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 dewelopera IIS Express, 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 lokacji.
    • Użyj jednego 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 usługi 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 ASP.NET Core aplikacji za pomocą usług IIS.

Konfigurowanie projektu

Przekierowanie HTTPS

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

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, 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ę usług IIS w czasie programowania:

  1. Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań. Wybierz pozycję 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.

    Gdy 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 port co konfiguracja usług IIS określona wcześniej, 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ści .Development

  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. Dla 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, zostanie użyty domyślny model hostingu aplikacji, który jest w trakcie procesu. Jeśli aplikacja wymaga jawnego ustawienia modelu hostingu innego niż normalny model hostingu aplikacji, ustaw model hostingu na wartość 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 Properties . Poniższy przykład konfiguruje profil do korzystania z 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 za pomocą funkcji Just My Code i optymalizacji kompilatora powoduje obniżenie wydajności. Na przykład punkty przerwania nie są osiągane.

Dodatkowe zasoby

W tym artykule opisano obsługę debugowania aplikacji ASP.NET Core uruchomionych przy użyciu usług IIS w systemie Windows Server. W tym temacie przedstawiono proces włączania tego scenariusza i konfigurowania projektu.

Wymagania wstępne

  • Program Visual Studio dla systemu Windows
  • obciążenie ASP.NET i tworzenie aplikacji internetowych
  • Obciążenie programowania międzyplatformowego platformy .NET Core
  • Certyfikat zabezpieczeń X.509 (na potrzeby obsługi protokołu HTTPS)

Włączanie usług IIS

  1. W systemie Windows przejdź do pozycji 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

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 dewelopera IIS Express, ale każdy prawidłowy certyfikat działa.
    • W przypadku aplikacji korzystających z protokołu HTTP potwierdź istnienie powiązania, aby opublikować 80 lub utworzyć powiązanie z portem 80 dla nowej lokacji.
    • 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 na potrzeby obsługi w czasie 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 ASP.NET Core aplikacji 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 wymagającego protokołu HTTPS użyj przekierowania HTTPS 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 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ę usług IIS w czasie programowania:

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

  2. W obszarze 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ą z wartością NameASPNETCORE_ENVIRONMENT i wartościąDevelopment.

  6. W obszarze Ustawienia serwera internetowego ustaw adres URL aplikacji na tę samą wartość, która jest używana dla adresu URL punktu końcowego przeglądarki uruchamiania .

  7. Dla 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 ustawi <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 wartość In Process 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 launchSettings.json w folderze Properties . 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