27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
---
|
|
no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR]
|
|
---
|
|
::: moniker range=">= aspnetcore-3.0 < aspnetcore-5.0"
|
|
|
|
> [!WARNING]
|
|
> A **catch-all** parameter may match routes incorrectly due to a [bug](https://github.com/dotnet/aspnetcore/issues/18677) in routing. Apps impacted by this bug have the following characteristics:
|
|
>
|
|
> * A catch-all route, for example, `{**slug}"`
|
|
> * The catch-all route fails to match requests it should match.
|
|
> * Removing other routes makes catch-all route start working.
|
|
>
|
|
> See GitHub bugs [18677](https://github.com/dotnet/aspnetcore/issues/18677) and [16579](https://github.com/dotnet/aspnetcore/issues/16579) for example cases that hit this bug.
|
|
>
|
|
> An opt-in fix for this bug is contained in [.NET Core 3.1.301 SDK and later](https://dotnet.microsoft.com/download/dotnet-core/3.1). The following code sets an internal switch that fixes this bug:
|
|
>
|
|
>```csharp
|
|
>public static void Main(string[] args)
|
|
>{
|
|
> AppContext.SetSwitch("Microsoft.AspNetCore.Routing.UseCorrectCatchAllBehavior",
|
|
> true);
|
|
> CreateHostBuilder(args).Build().Run();
|
|
>}
|
|
>// Remaining code removed for brevity.
|
|
>```
|
|
|
|
::: moniker-end |