如何添加其他请求的默认路由

问题描述 投票:0回答:1

示例:我创建了一个如下所示的文件:

controller.cs

in Program.cs文件是:

using Microsoft.AspNetCore.Mvc; using ControllersExample.Models; namespace ControllersExample.Controllers { [Controller] public class HomeController : Controller { [Route("/")] [Route("home")] public ContentResult home() { return Content("<h1>Welcome</h1> <h2>Hello from Index</h2>", "text/html"); } [Route("about")] public string about() { return "Hello from about"; } [Route("contact")] public string contact() { return "Hello from contact"; } } }

我想为所有其他请求定义一个defaultRoute
上面尚未定义的所有其他请求。例如:我想访问请求

var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); //add all controller classes as services var app = builder.Build(); //app.MapGet("/", () => "Hello World!"); app.UseStaticFiles(); app.UseRouting(); app.MapControllers(); app.Run(); /abc

/edf
,...等,但是我尚未定义这些路线。
我试图添加
/ghi

app.Use(async (context, next) => { await context.Response.WriteAsync("Page not found"); await next(); });

文件的末尾,但它不起作用。
我如何为所有其他请求定义一次?
thank你们所有人都提前

有多种实现您需求的方法,我建议您可以考虑使用MapFallback方法。这将添加了一个专业的Microsoft.aspnetcore.Routing.RouteEndpoint到Microsoft.aspnetcore.Routing.IndpoIntRouteBuilder,它将匹配具有最低优先级的非文件名的请求。

更多详细信息,您可以参考以下代码:

program.cs

恢复:
c# asp.net-core .net-core controller asp.net-core-mvc
1个回答
0
投票

	

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.