asp.net 域后的核心路由句柄 ID

asp.net core route handle id after domain

如何在 ASP.NET 核心路线 http://example.com/id 中处理此问题?

基本上,我需要能够在域之后用某种 ID 格式化一些 URL(请注意这不是 /Home/Index)。

假设我想在您访问 url 时显示带有 id=1 的图像:http://example.com/1http://example.com?id=1 我可以将我的逻辑放在哪里?我该如何处理这条路线?

这是 basic routing,文档会为您解答如何执行此操作。

要严格处理http://example.com/{id},需要定义一个默认的controller(一般是HomeController),并定义一个匹配id的route
在 HomeController 内部会有一个类似于

的动作
[HttpGet("{id}")]
public void GetImage(string id) {
    ...
}

例如,对于 MVC5,您可以添加一个新路由 并在默认路线之前

routes.MapRoute(
    name: "custom",
    url: "{Id}",
    defaults: new { controller = "controller-name", action = "action-name"}
);