当ASP.NET Core应用程序的路由返回404时,可能有以下几种解决方法:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
检查请求的URL:如果你的URL与路由模板不匹配,那么路由将无法找到对应的控制器和动作方法。确保URL正确,并且没有任何拼写错误或错误的URL路径。
检查中间件顺序:如果你在中间件管道中使用了自定义中间件,并且该中间件在路由中间件之前执行,那么路由将无法正常工作。确保将路由中间件放在正确的位置。
app.UseRouting();
app.UseEndpoints(endpoints =>
{
// 路由配置
});
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
endpoints.MapFallbackToController("Error", "Home");
});
这些解决方法可以帮助你解决ASP.NET Core应用程序路由返回404的问题。根据具体情况选择适合的解决方法。