Nguon: Microsoft Learn · .NET 8.0

Phân tích code chẩn đoán trong ứng dụng ASP.NET Core

Nguồn: Diagnostic Code Analysis in ASP.NET Core Apps

Các trình phân tích nền tảng trình biên dịch .NET (analyzers) kiểm tra code ứng dụng để tìm vấn đề về chất lượng và phong cách code.

Bài viết này cung cấp liên kết đến các thông báo chẩn đoán cụ thể cho ASP.NET Core. Để biết thêm thông tin về chẩn đoán .NET, xem Tổng quan về phân tích mã nguồn .NET.

Mã chẩn đoán

Bảng sau liệt kê các chẩn đoán có sẵn cho ứng dụng ASP.NET Core.

Lưu ý: Không phải tất cả chẩn đoán đều có sẵn trong các phiên bản cũ hơn của ASP.NET Core.

ID chẩn đoánThông báo
ASP0000Không gọi IServiceCollection.BuildServiceProvider trong ConfigureServices
ASP0001Authorization middleware (phần mềm trung gian ủy quyền) được cấu hình không đúng
ASP0003Không sử dụng thuộc tính model binding với route handlers
ASP0004Không sử dụng action results với route handlers
ASP0005Không đặt thuộc tính trên phương thức được gọi bởi lambda route handler
ASP0006Không sử dụng sequence numbers không phải là literal
ASP0007Tính tùy chọn của tham số route và argument không khớp
ASP0008Không sử dụng ConfigureWebHost với WebApplicationBuilder.Host
ASP0009Không sử dụng Configure với WebApplicationBuilder.WebHost
ASP0010Không sử dụng UseStartup với WebApplicationBuilder.WebHost
ASP0011Đề xuất sử dụng builder.Logging thay vì Host.ConfigureLogging hoặc WebHost.ConfigureLogging
ASP0012Đề xuất sử dụng builder.Services thay vì Host.ConfigureServices hoặc WebHost.ConfigureServices
ASP0013Đề xuất chuyển từ sử dụng các phương thức Configure sang WebApplicationBuilder.Configuration
ASP0014Đề xuất sử dụng đăng ký route cấp cao nhất
ASP0015Đề xuất sử dụng các thuộc tính IHeaderDictionary
ASP0016Không trả về giá trị từ RequestDelegate
ASP0017Route pattern (mẫu route) không hợp lệ
ASP0018Tham số route không được sử dụng
ASP0019Đề xuất sử dụng IHeaderDictionary.Append hoặc indexer
ASP0020Các kiểu phức tạp được tham chiếu bởi tham số route phải có thể phân tích được
ASP0021Kiểu trả về của phương thức BindAsync phải là ValueTask<T>
ASP0022Phát hiện xung đột route giữa các route handlers (Minimal API apps)
ASP0023Phát hiện xung đột route giữa các route handlers
ASP0024Route handler có nhiều tham số với thuộc tính [FromBody]
ASP0025Sử dụng AddAuthorizationBuilder để đăng ký dịch vụ authorization và xây dựng policies
ASP0026[Authorize] bị ghi đè bởi [AllowAnonymous] từ "xa hơn"
ASP0027Khai báo class public Program không cần thiết
ASP0028Xem xét sử dụng IPAddress.IPv6Any thay vì IPAddress.Any
BL0001Tham số component phải có public setters
BL0002Component có nhiều tham số CaptureUnmatchedValues
BL0003Tham số component với CaptureUnmatchedValues có kiểu sai
BL0004Tham số component phải là public
BL0005Tham số component không nên được đặt bên ngoài component của nó
BL0006Không sử dụng các kiểu RenderTree
BL0007Tham số component {0} phải là auto property
BL0008Các tham số component phải là auto properties
MVC1000Nên tránh sử dụng IHtmlHelper.Partial
MVC1001Không thể áp dụng Filters cho các phương thức page handler
MVC1002Không thể áp dụng thuộc tính Route cho các phương thức page handler
MVC1003Không thể áp dụng thuộc tính Route cho page models
MVC1004Đổi tên tham số được model bound
MVC1005Không thể sử dụng UseMvc với Endpoint Routing
MVC1006Các phương thức chứa Tag Helpers phải là async và trả về Task