Aracılığıyla paylaş


ASP0003: Yol işleyicileriyle model bağlama özniteliklerini kullanmayın

Değer
Kural Kimliği ASP0003
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan

Neden

Yol işleyici temsilcisi, özniteliği olan bir [Bind] parametre içerir.

Kural açıklaması

Yol işleyicisi uç noktaları yalnızca , [FromBody]vb. gibi [FromRoute]MVC özniteliklerinin bir alt kümesini destekler. Desteklenmeyen öznitelikler yoksayılır ve beklenmeyen bağlama davranışına neden olur. Örneğin, aşağıdaki kod bir çözümleyici uyarısına neden olur:

app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için uç noktanın izin verilen model bağlama özniteliklerinden birini kullandığından emin olun.

app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan bir uyarıyı gizlemeyin. Yanlış model bağlama kurulumu, çalışma zamanında parametreleri çözümlerken beklenmeyen davranışlara neden olabilir.