Bagikan melalui


ASP0003: Jangan gunakan atribut pengikatan model dengan handler rute

Nilai
ID Aturan ASP0003
Kategori Penggunaan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif

Penyebab

Delegasi handler rute menyertakan parameter yang memiliki [Bind] atribut .

Deskripsi aturan

Titik akhir handler rute hanya mendukung subset atribut MVC seperti [FromRoute], , [FromBody]dll. Atribut yang tidak didukung diabaikan dan mengakibatkan perilaku pengikatan yang tidak terduga. Misalnya, kode berikut menghasilkan peringatan penganalisis:

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

Cara memperbaiki pelanggaran

Untuk memperbaiki pelanggaran aturan ini, pastikan titik akhir menggunakan salah satu atribut pengikatan model yang diizinkan.

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

Kapan harus menekan peringatan

Jangan menekan peringatan dari aturan ini. Penyiapan pengikatan model yang salah dapat mengakibatkan perilaku tak terduga saat menyelesaikan parameter pada runtime.