共用方式為


ASP0004:請勿使用動作結果搭配路由處理常式

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

原因

路由處理常式委派會傳回實作 IActionResult 的值。

檔案描述

路由處理常式端點不支援執行 MVC 的 IActionResult 執行個體。 傳回未實作 IResultIActionResult,會導致序列化結果執行個體,而不是執行結果。

app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));

如何修正違規

若要修正此規則的違規,請確定端點的路由處理常式會使用 Results 擴充方法傳回 IResult 型別。

app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));

隱藏警告的時機

隱藏此規則的警告。 傳回未實作 IResultIActionResult,會導致序列化結果執行個體,而不是執行結果。