首先,我已經閱讀了許多文章,我可以找到關於這個主題,並安裝了幾個「路由調試」插件。我對Java/Spring更加熟悉,所以我真的不知道如何使用vs 2012來調試這個東西。(我不能讓IISExpress打印任何調試,更不用說用於Spring/Tomcat的調試輸出類型)另一個ASP.Net WebAPI路由沒有找到
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Legal",
action = "Index",
id = UrlParameter.Optional }
);
}
}
現在,我可以通過默認控制器進入索引頁面。不過,我想打URL /的WebAPI /元/基於以下控制器:
[BreezeController]
public class WebApiController : ApiController {
private readonly EFContextProvider<BankruptcyDbContext> _contextProvider =
new EFContextProvider<BankruptcyDbContext>();
[HttpGet]
public string Metadata() {
return _contextProvider.Metadata();
}
}
「途徑調試」 說我的請求/的WebAPI /元數據/的WebAPI /元/,/的WebAPI /元/ 0,更要「投其所好」,但我得到的是404
EDIT1:我終於找到了跟蹤日誌,並得到了更多的細節:
The controller for path &#39;/WebApi/Metadata&#39; was not found or does not implement IController
http://www.breezejs.com/ –
真棒,那工作!我不知道mapRoute和MapHttpRoute有什麼不同。 –
@BrockNoland歡迎來到ASP.NET Web API與ASP.NET MVC混淆的世界。兩個完全不同的框架,打包在一起,看起來非常相似,「以緩解學習曲線」。 –