WebApiConfig.Register未运行

时间:2016-05-31 10:42:31

标签: asp.net asp.net-mvc asp.net-web-api

我有一个ASP.NET MVC项目*是在VS 2013首次出现时创建的。 (旁白:我如何找出用于现有项目的MVC版本?)。我现在在VS 2015中打开它并添加了一个Web API 2控制器。

VS添加了一个静态WebApiConfig类。但是,Register方法未被调用。结果,我的api路线无法识别。

我如何/在哪里调用WebApiConfig.Register方法以及必须传递给此方法的参数是什么?

*这是包含BundleConfig.cs,FilterConfig.cs,IdentityConfig.cs,RouteConfig.cs,StartupAuth.cs,WebApiConfig.cs的App_Start文件夹的版本。

2 个答案:

答案 0 :(得分:6)

如上所述in this post,您应该使用GlobalConfiguration.Configure而不是WebApiConfig.Register用于任何新的(或迁移的)Web API 2项目:

protected void Application_Start()
{
    GlobalConfiguration.Configure(WebApiConfig.Register);
    //MVC Registrations
}

还要确保将项目中的任何NuGet包更新到最新版本。

答案 1 :(得分:1)

Global.ascx.cs

using System.Web.Http;

protected void Application_Start()
{
    //other stuff            
    //update: do not use WebApiConfig.Register(GlobalConfiguration.Configuration)
    GlobalConfiguration.Configure(WebApiConfig.Register);
}
  

如何找出用于现有项目的MVC版本?

它参考的MVC是什么?即什么是您的Web项目将引用的System.Web.Mvc程序集的版本号