详解如何在ASP.NET Core中使用Route特性(2)

public class CustomRouteConstraint : IRouteConstraint { public bool Match(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) { throw new NotImplementedException(); } }

在 Controller 上使用 token 占位符

所谓的 token 占位符 就是具有一些特定含义的占位符号,比如说:[action], [area] 和 [controller],分别表示用你真实的 Controller 和 Action 去替换,下面的代码展示了如何使用这种模式去实现。

[Route("[controller]/[action]")] public class HomeController : Controller { private readonly ILogger<HomeController> _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } public IActionResult Index() { return View(); } //Other action methods }

整体来看,基于特性 的 Route 给了你更多的操控权限,灵活的 Route Template 配置实现了 Controller 和 Action 的解耦,当然这里也不是说 基于约定 的Route 不好,毕竟人家是 Global 级别的,真实场景下两者更多的是混着用。

译文链接:https://www.infoworld.com/article/3569369/how-to-use-attribute-routing-in-aspnet-core.html

到此这篇关于如何在ASP.NET Core中使用Route特性的文章就介绍到这了,更多相关ASP.NET Core Route特性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/50f32d04336178ce1dbc37be8ca348ae.html