向Route属性添加标志(启用/禁用)

时间:2016-09-12 14:48:34

标签: c# asp.net-mvc routing routes

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

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

1 个答案:

答案 0 :(得分:1)

嗯,您实际上并没有提供有关您尝试实现的内容的大量信息,因此,这可能是一个非常棘手的问题。但一般来说,没有办法在运行时禁用路由。它要么是可用的路线,要么不是。如果这只是您正在处理的一些新功能,并且您根本不希望它可用,那么我建议的最好的方法就是评论该路线:

 //Route("manage/articles")]

然而,这实际上并不是最好的事情"事实上。首先,除非您在RouteConfig.cs中禁用了默认路由,否则您仍然可以通过传统的/Controller/Action路径进行操作,因此您并未真正禁用任何内容。其次,事实上,你不应该把生产中的任何代码放在世界上,而不是生活在世界上。如果您正在处理新功能,请在分支机构中执行此操作,并且不要将代码合并,直到它准备好上线为止。那么,你没有问题。

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