ASP0022: 在路由處理常式之間偵測到路由衝突

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

原因

一個 HTTP 要求匹配多個路由,因而導致匹配不明確的錯誤。

檔案描述

偵測到路由衝突時,就會發出此診斷。

如何修正違規

若要修正此規則的違規問題,請變更路由的模式、HTTP 方法或路由條件約束。

隱藏警告的時機

請勿隱藏此規則的警告。

備註

ASP0023 會對最小 API 應用程式中的路由衝突發出警告,此分析器會對 ASP.NET Core MVC 應用程式中的路由衝突發出警告。

此分析器會刻意保守其報告的重複路由,以避免誤判:

  • 分析器只會報告方法中相同程式代碼區塊中宣告的重複路由。 不會報告語句不同分支 if 中的重複路由,因為分析器無法以靜態方式判斷將在運行時間使用哪些路由。
  • 分析器只會報告具有已知元數據的重複路由。 路由處理程式上呼叫的未知方法可能會新增新的元數據,然後用來自定義路由的比對方式。