Freigeben über


ASP0022: Routenkonflikt zwischen Routenhandlern erkannt

Wert
Regel-ID ASP0022
Kategorie Verwendung
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend

Ursache

Eine HTTP-Anforderung stimmt mit mehreren Routen überein, was zu einem mehrdeutigen Übereinstimmungsfehler führt.

Regelbeschreibung

Diese Diagnose wird ausgegeben, wenn ein Routenkonflikt erkannt wird.

Behandeln von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie das Muster, die HTTP-Methode oder die Routeneinschränkungen der Route.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel.

Hinweise

ASP0023 warnt bei Routenkonflikten in ASP.NET Core MVC-Apps. Dieses Analysetool warnt vor Routenkonflikten in minimalen API-Apps.

Dieser Analyzer ist absichtlich konservativer bezüglich doppelter Routen, die er meldet, um falsch positive Ergebnisse zu vermeiden:

  • Der Analyzer meldet nur doppelte Routen, die in demselben Codeblock in einer Methode deklariert sind. Doppelte Routen in verschiedenen Verzweigungen einer if-Anweisung werden nicht gemeldet, da die Analyse nicht statisch bestimmen kann, welche zur Laufzeit verwendet wird.
  • Der Analyzer meldet nur doppelte Routen mit bekannten Metadaten. Unbekannte Methoden, die für einen Routenhandler aufgerufen werden, fügen möglicherweise neue Metadaten hinzu, die dann verwendet werden, um die Übereinstimmung der Route anzupassen.