2012-09-17 26 views
1

我使用Martin Deviller的tutorial來獲得MVC4的Web API與區域一起工作。我相信我已經跟着指示準確,但訪問時GetControllerType拋出以下異常的「http://本地主機/ API /用戶」:讓WebApi和區域很好地發揮

Value cannot be null. Parameter name: controllerType 

沒有人有任何的想法可能會造成什麼呢?這是我放在我的區域註冊文件中:

context.MapHttpRoute(
    name: "API_default", 
    routeTemplate: "API/{controller}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
); 

在此先感謝。

回答

2

我看到你正試圖訪問沒有區域的應用程序的路線。你需要區域還是不需要?

如果您正在嘗試遵循示例,那麼區域註冊將使url爲「http:// localhost/administration/API/user」。這是否工作?

context.Routes.MapHttpRoute(
     name: "Administration_DefaultApi", 
     routeTemplate: "Administration/api/{controller}/{id}", 
     defaults: new { id = RouteParameter.Optional } 
    ); 
+0

API是我的區域的名稱。我怎樣才能相應地設置路線? – Jonathan

+0

對於從API控制器繼承的所有類,API默認爲區域名稱。您不必在區域註冊中做任何額外的工作,以使您的ApiController可以在/ api/user下訪問。它可以以這種方式直接運行。 – Nick

+0

我只是試着把我的UserController放在Areas/API/Controllers中,但是我得到了404。我誤解了嗎?感謝您一直以來的幫助。 – Jonathan

相關問題