Fehler mit WebApi 2.0 RouteAttribute
-
23-12-2019 - |
Frage
Hier ist mein 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();
}
Hier ist mein Web-API-Controller
[RoutePrefix("api/admin/users/")]
public class UsersController : ApiController
{
[Route("get")]
public IQueryable<User> GetUsers()
{
return db.Users;
}
}
Und hier ist der Fehler, den ich erhalte, wenn ich zu localhost:123/api/admin/users/get navigiere
The object has not yet been initialized. Ensure that HttpConfiguration.EnsureInitialized() is called in the application's startup code after all other initialization code.
Ich habe keine Ahnung, was ich hier falsch mache.Ich glaube, dass ich für die neue WebApi 2.0-Methode alles richtig mache, aber mir fehlt etwas.
Dank im Voraus.
Aktualisieren
Hier ist der Stapel für den Fall, dass er hilft
at System.Web.Http.Routing.RouteCollectionRoute.GetRouteData(String virtualPathRoot, HttpRequestMessage request)
at System.Web.Http.WebHost.Routing.HttpWebRoute.GetRouteData(HttpContextBase httpContext)
Lösung
Bitte entfernen
GlobalConfiguration.Configure(x => x.MapHttpAttributeRoutes());
aus Global.asax.
Und dann anrufen MapHttpAttributeRoutes
im WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
}
Andere Tipps
In meinem Fall erhielt ich diesen Fehler, weil ich vor Webapi Autofac konfigurierte:
generasacodicetagpre.Ändern der Reihenfolge hat mich an dieses Problem vergangen:
generasacodicetagpre.