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)
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top