gpt4 book ai didi

c# - WebApi 2.0 RouteAttribute 错误

转载 作者:太空狗 更新时间:2023-10-29 20:13:28 24 4
gpt4 key购买 nike

这是我的 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 Controller

    [RoutePrefix("api/admin/users/")]
public class UsersController : ApiController
{
[Route("get")]
public IQueryable<User> GetUsers()
{
return db.Users;
}
}

这是我导航到 localhost:123/api/admin/users/get 时遇到的错误

对象尚未初始化。确保在所有其他初始化代码之后在应用程序的启动代码中调用 HttpConfiguration.EnsureInitialized()。

我不知道我在这里做错了什么。我相信我正在为新的 WebApi 2.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());

来自Global.asax

然后在 WebApiConfig.cs

中调用 MapHttpAttributeRoutes
    public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}

关于c# - WebApi 2.0 RouteAttribute 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25066147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com