所以我只花了一小時的時間來調試爲什麼我在System.Web.Http.dll!System.Web.Http.Dispatcher.DefaultHttpControllerSelector.SelectController(System.Net.Http.HttpRequestMessage request) + 0x33f byte
上收到客戶端404和服務器端System.Web.Http.HttpResponseException
;不管我嘗試過什麼,我都無法讓我的ApiController衍生產品接收請求。保留的ASP.NET MVC控制器名稱?
最後,在嘗試將其轉換爲常規Controller
無效後,我發現將名稱從APIController
更改爲APIXController
只是爲了讓所有內容都能正常工作。
- 它在哪裏說
API
是保留的控制器名稱? - 保留控制器名稱的完整列表在哪裏?
- 是否可以繞過使用
APIController
作爲我的班級名稱的限制,如果是的話,我該怎麼做呢?
一個我檢查的第一件事情是我的路由配置,這是沼澤標準
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
你說得對。我沒有意識到WebApi有一個單獨的路由文件。 – 2013-03-07 03:17:45