给路由属性增加一个标志(启用/禁用)

本文关键字:一个 标志 启用 禁用 路由 属性 增加 | 更新日期: 2023-09-27 18:06:44

我想添加一个标志到我的路由属性。我在其他地方为新功能设置了一个标志,但不确定如何添加它。

 [Route("manage/articles")]
 public ActionResult Articles(Model model){ ... } 

给路由属性增加一个标志(启用/禁用)

实际上,您没有给出关于您试图实现的目标的太多信息,因此,这可能是一个XY问题。但一般来说,没有办法在运行时禁用路由。它要么是一条可用的路线,要么不是。如果这只是你正在开发的一些新功能,而你根本不希望它可用,我建议的最好的方法就是简单地注释掉路由:

 //Route("manage/articles")]
然而,这实际上并不是现实中"最好的事情"。首先,除非你在RouteConfig.cs中禁用了默认路由,否则你仍然可以通过传统的/Controller/Action路径到达动作,所以你并没有真正禁用任何东西。其次,实际上,您不应该将任何尚未准备好向世界发布的代码放在生产环境中。如果您正在开发一个新特性,请在分支中进行,并且在准备好上线之前不要合并代码。那么,你就没有问题了。

如果这是你在进行beta测试之类的情况,它应该对一些用户可用,但不是整个世界。您可以依赖Authorize并创建一个角色来分配允许访问它的用户,或者在操作或自定义操作过滤器中执行某种自定义授权。