Sdílet prostřednictvím


Blazor: Logika priority tras se změnila v aplikacích Blazor

Chyba v implementaci směrování Blazor ovlivnila určení priority tras. Tato chyba ovlivňuje všechny trasy nebo trasy s volitelnými parametry v aplikaci Blazor.

Zavedená verze

5.0.1

Staré chování

Při chybném chování se trasy s nižší prioritou považují a odpovídají trasám s vyšší prioritou. Například {*slug} trasa se shoduje před /customer/{id}.

Nové chování

Aktuální chování přesněji odpovídá chování směrování definované v aplikacích ASP.NET Core. Architektura určuje prioritu trasy pro každý segment jako první. Délka trasy se používá pouze jako druhé kritérium k přerušení vazeb.

Důvod změny

Původní chování je považováno za chybu v implementaci. Jako cíl by se systém směrování v aplikacích Blazor měl chovat stejně jako systém směrování ve zbytku ASP.NET Core.

Pokud upgradujete z předchozích verzí Blazoru na verzi 5.x, použijte PreferExactMatches atribut komponenty Router . Tento atribut lze použít k vyjádření správného chování. Příklad:

<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="true">

Pokud PreferExactMatches je nastavená hodnota true, porovnávání tras dává přednost přesným shodám oproti zástupným znakům.

Ovlivněná rozhraní API

Žádné