Nguon: Microsoft Learn · .NET 8.0

Hỗ trợ IIS tại thời gian phát triển trong Visual Studio cho ASP.NET Core

Nguồn: Development-time IIS support in Visual Studio for ASP.NET Core

Bài viết này mô tả hỗ trợ của Visual Studio cho việc debug các ứng dụng ASP.NET Core chạy với IIS trên Windows Server. Bài viết hướng dẫn cách bật kịch bản này và thiết lập project.

Điều kiện tiên quyết

Bật IIS

  1. Trong Windows, điều hướng đến Control Panel > Programs > Programs and Features > Turn Windows features on or off (phía bên trái màn hình).
  2. Chọn hộp kiểm Internet Information Services. Chọn OK.

Cài đặt IIS có thể yêu cầu khởi động lại hệ thống.

Cấu hình IIS

IIS phải có một website được cấu hình với các thông tin sau:

Bật hỗ trợ IIS tại thời gian phát triển trong Visual Studio

  1. Khởi chạy Visual Studio installer.
  2. Chọn Modify cho cài đặt Visual Studio mà bạn định dùng để hỗ trợ IIS tại thời gian phát triển.
  3. Đối với workload ASP.NET and web development, tìm và cài đặt component Development time IIS support.

Component này được liệt kê trong phần Optional dưới Development time IIS support trong panel Installation details ở bên phải của các workload. Component này cài đặt ASP.NET Core Module, đây là một IIS module native cần thiết để chạy các ứng dụng ASP.NET Core với IIS.

Cấu hình project

HTTPS redirection (chuyển hướng HTTPS)

Đối với project mới yêu cầu HTTPS, chọn hộp kiểm Configure for HTTPS trong cửa sổ Create a new ASP.NET Core Web Application. Chọn hộp kiểm này sẽ thêm HTTPS Redirection và HSTS Middleware vào ứng dụng khi nó được tạo.

Đối với project hiện tại yêu cầu HTTPS, hãy dùng HTTPS Redirection và HSTS Middleware trong Startup.Configure. Để biết thêm thông tin, xem Enforce HTTPS in ASP.NET Core.

Đối với project dùng HTTP, HTTPS Redirection và HSTS Middleware không được thêm vào ứng dụng. Không cần cấu hình ứng dụng.

IIS launch profile (cấu hình khởi chạy IIS)

Tạo một launch profile mới để thêm hỗ trợ IIS tại thời gian phát triển:

  1. Nhấp chuột phải vào project trong Solution Explorer. Chọn Properties. Mở tab Debug.
  2. Đối với Profile, chọn nút New. Đặt tên profile là "IIS" trong cửa sổ popup. Chọn OK để tạo profile.
  3. Đối với cài đặt Launch, chọn IIS từ danh sách.
  4. Chọn hộp kiểm Launch browser và cung cấp URL endpoint.

Khi ứng dụng yêu cầu HTTPS, dùng HTTPS endpoint (https://). Đối với HTTP, dùng HTTP endpoint (http://).

Cung cấp cùng host name và cổng như cấu hình IIS đã chỉ định trước đó, thường là localhost.

Cung cấp tên ứng dụng ở cuối URL.

Ví dụ, https://localhost/WebApplication1 (HTTPS) hoặc http://localhost/WebApplication1 (HTTP) là các URL endpoint hợp lệ.

  1. Trong phần Environment variables, chọn nút Add. Cung cấp biến môi trường với NameASPNETCORE_ENVIRONMENTValueDevelopment.
  2. Trong khu vực Web Server Settings, đặt App URL thành cùng giá trị được dùng cho URL endpoint của Launch browser.
  3. Đối với cài đặt Hosting Model trong Visual Studio 2019 trở lên, chọn Default để dùng mô hình hosting của project. Nếu project đặt thuộc tính <AspNetCoreHostingModel> trong project file, giá trị của thuộc tính (InProcess hoặc OutOfProcess) được dùng. Nếu thuộc tính không có, mô hình hosting mặc định của ứng dụng được dùng, đó là in-process. Nếu ứng dụng yêu cầu cài đặt mô hình hosting rõ ràng khác với mô hình hosting thông thường của ứng dụng, hãy đặt Hosting Model thành In Process hoặc Out Of Process tùy theo nhu cầu.
  4. Lưu profile.

Khi không dùng Visual Studio, thêm thủ công launch profile vào file launchSettings.json trong thư mục Properties. Ví dụ sau cấu hình profile để dùng giao thức HTTPS:

json
{
  "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"
      }
    }
  }
}

Xác nhận rằng các endpoint applicationUrllaunchUrl khớp nhau và sử dụng cùng giao thức như cấu hình ràng buộc IIS, là HTTP hoặc HTTPS.

Chạy project

Chạy Visual Studio với tư cách administrator:

Visual Studio có thể yêu cầu khởi động lại nếu không chạy với tư cách administrator. Nếu được nhắc, hãy khởi động lại Visual Studio.

Nếu chứng chỉ phát triển không đáng tin cậy được dùng, trình duyệt có thể yêu cầu bạn tạo một ngoại lệ cho chứng chỉ không đáng tin cậy.

Debug cấu hình Release build với Just My Code và tối ưu hóa compiler dẫn đến trải nghiệm kém. Ví dụ, các breakpoint không được đặt.

Tài nguyên bổ sung