Webapi2.0RouteAttribute出错
-
23-12-2019 - |
题
这是我的环球。麻ax
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控制器
[RoutePrefix("api/admin/users/")]
public class UsersController : ApiController
{
[Route("get")]
public IQueryable<User> GetUsers()
{
return db.Users;
}
}
这是我导航到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.
我不知道我在这里做错了什么。我相信我正在为新的WebApi2.0方式做好一切,但我错过了一些东西。
先谢谢你。
更新资料
这是堆栈,以防它有帮助
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());
从 全球化。麻ax.
然后打电话 MapHttpAttributeRoutes
在 WebApiConfig。政务司司长
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}
其他提示
在我的情况下,我正在收到这个错误,因为我在webapi之前配置了autofac:
GlobalConfiguration.Configure(WebApiConfig.Register);
GlobalConfiguration.Configure(AutofacConfig.Register);
.
更改订单让我过去这个问题:
GlobalConfiguration.Configure(AutofacConfig.Register);
GlobalConfiguration.Configure(WebApiConfig.Register);
. 不隶属于 StackOverflow