WebApi 2.0 RouteAttribute错误 [英] Error with WebApi 2.0 RouteAttribute
问题描述
这是我的Global.asax
Here's my Global.asax
protected void Application_Start()
{
RegisterRoutes();
}
private static void RegisterRoutes()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(x => x.MapHttpAttributeRoutes());
GlobalConfiguration.Configuration.EnsureInitialized();
}
这是我的Web Api控制器
Here's my Web Api controller
[RoutePrefix("api/admin/users/")]
public class UsersController : ApiController
{
[Route("get")]
public IQueryable<User> GetUsers()
{
return db.Users;
}
}
这是我导航到localhost:123/api/admin/users/get
And here's the error I get when I navigate to localhost:123/api/admin/users/get
The object has not yet been initialized. Ensure that HttpConfiguration.EnsureInitialized() is called in the application's startup code after all other initialization code.
我不知道我在做什么错.我相信我已经为新的WebApi 2.0方法正确地完成了所有工作,但是我缺少了一些东西.
I have no idea what I'm doing wrong here. I believe that I'm doing everything properly for the new WebApi 2.0 way, but I'm missing something.
谢谢.
更新
这里是堆栈,以防万一
at System.Web.Http.Routing.RouteCollectionRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
at System.Web.Http.WebHost.Routing.HttpWebRoute.GetRouteData(HttpContextBase httpContext)
推荐答案
请删除
GlobalConfiguration.Configure(x => x.MapHttpAttributeRoutes());
来自 Global.asax .
from Global.asax.
然后在 WebApiConfig.cs
And then call MapHttpAttributeRoutes
in the WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}
这篇关于WebApi 2.0 RouteAttribute错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!