使用MVC路由为操作添加别名

时间:2019-01-14 10:37:14

标签: asp.net-mvc routing

我有一个名为ApiController的{​​{1}}和一个动作MyControllerName。 调用此方法的网址:MyActionName 我想添加一条路由,以便也可以通过第二条路径访问此方法:api/MyControllerName/MyActionName

我试图创建这样一条路线:

api/MyControllerName/SecondActionName

但是它不起作用。该方法在此路径上不可用。在这两种情况下,方法都将具有参数。 该方法在两个不同的网址上可用的途径应该是什么?

1 个答案:

答案 0 :(得分:0)

听起来像您的路线是在默认路线或其他与您的网址匹配的其他路线之后注册的。

MVC总是选择与当前URL匹配的第一条路由。考虑默认的一种:它具有广泛的模式,因此可以匹配许多URL,包括您在问题中使用的URL。因此,在将路线添加到Routes集合时,请确保特定的路线先于它:

config.Routes.MapHttpRoute(
    name: "AbsoleteApiRedirect",

....

config.Routes.MapHttpRoute(
    name: "API Default",