使用 ASP.Net 5 的 MVC 6 属性路由注册路由

Registering routes with ASP.Net 5's MVC 6 Attribute Routing

在 ASP.Net MVC 5 中使用属性路由时,您将调用命令 routes.MapMvcAttributeRoutes();,然后只需将 Route() 标记添加到要构建路由的 Controller/Actions到。我现在正尝试在 ASP.Net MVC 6 中执行此操作,并且发现许多页面向您展示了如何执行此操作,这与在 MVC 5 中确实没有什么不同,但它们没有向您显示在哪里或如何注册那些路线。

ASP.Net MVC 6 是自动为您准备的,还是有等同于 routes.MapMvcAttributeRoutes(); 的东西我必须在哪里调用?

如果您使用 app.UseMvc() 在 Startup class 中启用了 MVC,那么您已经支持通过 RouteAttribute 进行路由。

您可以将 RouteAttribute 添加到您的控制器之一的方法中,例如:

[Route("/example")]
public IActionResult Example()
{
    // …
}

这使得路由在 /example 下可用,而不是默认的 /ControllerName/Example

您也可以在控制器class上使用RouteAttribute,例如

[Route("test/[action]")]
public class ExampleController : Controller
{
    // …
}

因此操作将在 /test/MethodName 而不是 Example/MethodName 下可用。