问题
Reading through this blog post on attribute routing in ASP.NET MVC 5 and this one on attribute routing in Web Api 2, it looks like there are two sets of routing attributes, one in the System.Web.Mvc
namespace and the other in System.Web.Http
.
- Is that right and does anyone have any idea (links) as to why it was designed this way?
- Should one be used over the other or are they supposed to live side by side?
回答1:
- Yes, these route attributes are intentionally different since Web API and MVC have distinct (but similar) routing systems
- Use the MVC RouteAttribute on MVC controllers/actions. Use the Web API RouteATtribute (System.Web.Http) on Web API controllers/actions. If you use one that doesn't match, it likely just won't work.
来源:https://stackoverflow.com/questions/19936647/do-webapi-2-and-mvc-5-user-different-routing-attributes