I got into trouble when I created the following controller action in my ASP.NET Core application:
This didn't work as expected but returned a 500 error stating:
No route matches the supplied values.
The strange thing was that when I removed the 'async' suffix in the Action name it worked.
This turned out to be a breaking change in ASP.NET Core 3.0. Starting from ASP.NET Core 3.0, ASP.NET Core MVC removes the Async suffix from controller action names. Both routing and link generation are impacted by this new default.
If you want to move back to the old behaviour, you can change it in the configuration: