我正在嘗試使用WebAPI作爲MVC5應用程序的一部分。應用程序具有區域,以便與我創建的現有結構和「API」區域保持一致。然而,當我點擊API URL時,我遇到了一些路由問題。在應用領域的ASP.NET MVC WebAPI
我已閱讀了大量的帖子,主要是MVC4的例子,迄今爲止我還沒有取得任何成功。
起初,我有API路線的區域路由的一部分,所以上面的下方默認路由,我有另一個與RouteTemplate API/{controller}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"API_default",
"API/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
然後我意識到我的錯誤,並移動到API路線在同一地區註冊不同的方法文件
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "Direct_API",
routeTemplate: "API/{controller}"
);
}
現在我已經搬到了API的路線進出該地區的註冊文件的完全,在app_start
創造了一個新的API路線的配置文件,並在註冊它應用程序路由文件之前的。但是,如果我轉到http://localhost:port/API/Import
,我不打API控制器。
的API導入控制器坐在應用
public class ImportController : ApiController
{
[HttpGet]
public Array Get()
{
return new[]{true, false, false, true};
}
}
Global.asax中登記的API區域
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
我還試圖註冊文件MVC4方式這是WebApiConfig.Register(GlobalConfiguration.Configuration);