Nguon: Microsoft Learn · .NET 8.0

ASP0009: Không sử dụng Configure với WebApplicationBuilder.WebHost

Nguồn: ASP0009: Do not use Configure with WebApplicationBuilder.WebHost

-Giá trị
Rule ID (Mã quy tắc)ASP0009
Category (Danh mục)Usage (Sử dụng)
Fix is breaking or non-breaking (Sửa có gây breaking change không)Non-breaking (Không gây breaking change)

Nguyên nhân

Configure không thể được sử dụng với thuộc tính WebHost trên WebApplicationBuilder.

Mô tả quy tắc

WebApplicationBuilder không hỗ trợ cấu hình WebHost trước khi build (xây dựng) bằng cách sử dụng extension method (phương thức mở rộng) Configure.

csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.Configure(webHostBuilder => {
    webHostBuilder.UseContentRootPath(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});

var app = builder.Build();

app.Run();

Cách khắc phục vi phạm

Để khắc phục vi phạm quy tắc này, hãy cấu hình WebHost trực tiếp trên WebApplicationBuilder. Ví dụ, thay vì đặt đường dẫn content root (thư mục gốc nội dung) thông qua Configure:

csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.Configure(webHostBuilder =>
{
    webHostBuilder.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));
});

var app = builder.Build();

app.Run();

Hãy cấu hình đường dẫn content root trực tiếp trên WebApplicationBuilder:

csharp
var builder = WebApplication.CreateBuilder(args);

builder.WebHost.UseContentRoot(Path.Combine(Directory.GetCurrentDirectory(), "myContentRoot"));

var app = builder.Build();

app.Run();

Khi nào nên bỏ qua cảnh báo

Không nên bỏ qua cảnh báo từ quy tắc này. Ứng dụng được cấu hình sai có thể dẫn đến hành vi không mong muốn khi chạy.