当试图找到这个问题如下解决方案:
MVC网页API路线与默认操作不工作
主要是我在整个问题上运行“多个动作被发现”。 如果路由机制发现与路由匹配不止一个动作,它抛出异常500。
例如,在ValuesController两个动作:
[HttpGet]
public IEnumerable<String> Active()
{
var result = new List<string> { "active1", "active2" };
return result;
}
public IEnumerable<string> Get()
{
return new[] { "value1", "value2" };
}
它匹配默认路由:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
同
GET: /api/values
会得到错误多个动作被发现。
我的问题:我如何可以通过选择指定动作绕过异常“多的行动被发现”(选择第一个匹配的动作也没关系)。
更新1:从tugberk的评论更新,感谢指出。
更新2:从迈克的评论更新,似乎这个问题是不正确的多,所以我改变的不提路由约束问路。
谢谢