我正在使用Web API 2,它似乎已经调用了我现有的API调用,除非它复制了每个区域的所有调用。例如,说我有3个区域,并在其中的一个我有一个API调用,看起来像:Web API帮助页面复制所有区域的操作
public IList<string> GetStringList(string id)
{
//do work here...
return new List<string>{"a","b","c"};
}
如果我有3个区,那么Web API帮助页面会显示:
GET AREA1/API/MyAPIController/GetStringList/{ID}
GET AREA2/API/MyAPIController/GetStringList/{ID}
GET AREA3/API/MyAPIController/GetStringList/{ID}
和MyAPIController只存在于'area2'中。为什么会显示3次,我该如何解决?如果有帮助,我对区2区登记为:
public class Area2AreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Area2";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Area2_default",
"Area2/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
context.Routes.MapHttpRoute(
name: "Area2_ActionApi",
routeTemplate: "Area2/api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
想到这个问题可能有一些做http://devillers.nl/getting-webapi-and-areas-to-play-nicely /,但这并没有最终导致修复问题 – Phil 2015-05-01 14:20:35
我看到了同样的问题......你能弄明白吗? – Dave 2015-05-11 21:59:17
不,还没有答案。希望能尽快拿出一些东西 – Phil 2015-05-11 22:45:50