我有一个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
文件夹的版本。
答案 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
程序集的版本号