ASP0022:路由处理程序之间检测到的路由冲突

价值
规则 ID ASP0022
类别 Usage
修复是中断修复还是非中断修复 Non-breaking

原因

HTTP 请求匹配多个路由,导致不明确匹配错误。

规则说明

检测到路由冲突时发出此诊断。

如何修复违规行为

若要解决此规则的冲突,请更改路由的模式、HTTP 方法或路由约束。

何时禁止显示警告

不禁止显示此规则发出的警告。

注释

ASP0023 在 ASP.NET Core MVC 应用中对路由冲突发出警告,此分析器在 Minimal API 应用中对路由冲突发出警告。

此分析器对其报告的重复路由持刻意保守态度,以避免误判。

  • 分析器仅报告方法中同一代码块中声明的重复路由。 不会报告语句的不同分支 if 中的重复路由,因为分析器无法静态确定将在运行时使用哪些路由。
  • 分析器仅报告具有已知元数据的重复路由。 在路由处理程序上调用的未知方法可能会添加新的元数据,然后用于自定义路由的匹配方式。