ASP0003:請勿使用模型繫結屬性搭配路由處理常式

規則識別碼 ASP0003
類別 使用方式
修正程式是中斷或非中斷 不中斷

原因

路由處理常式委派包含的參數具有 [Bind] 屬性。

檔案描述

路由處理常式端點僅支援 MVC 屬性的子集,例如 [FromRoute][FromBody] 等。不支援的屬性會被忽略,並導致非預期的繫結行為。 例如,下列程式碼會產生分析器警告:

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

如何修正違規

若要修正此規則的違規,請確定端點使用其中一個允許的模型繫結屬性。

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

隱藏警告的時機

隱藏此規則的警告。 不正確的模型繫結設定可能會導致在執行階段解析參數時發生非預期的行為。