【发布时间】:2016-08-02 03:49:14
【问题描述】:
我了解RoutePrefix 本身不会向路由表添加路由。在您的操作中,您需要声明一个 Route 属性。我很难找到权威的博客/msdn 页面/说明为什么默认 RoutePrefix 没有向路由表添加路由的原因。
是否有权威的帖子确实包含这种情况,如果有,请告诉我是谁。非常感谢。
编辑 澄清我的问题
不工作
[RoutePrefix("api/Steve")]
public class SteveController : ApiController
{
public int get(){return 1000000;}
}
作品
[RoutePrefix("api/Steve")]
public class SteveController : ApiController
{
[Route("")]
public int get(){return 1000000;}
}
上述情况有效,因为我们明确指出SteveController 上的get 操作有一个空路由。一旦我们这样做了,路由就会添加到RouteTable
第一种情况不起作用,因为仅使用RoutePrefix 不会向路由表添加任何内容。 RoutePrefix 本身不会生成路由。
这似乎是常识,我想找到一个值得信赖的来源,例如 Microsoft 官方文档,说明为什么会这样。
【问题讨论】:
标签: c# asp.net-web-api asp.net-web-api2 asp.net-web-api-routing attributerouting