2014-02-21 14 views
50

Ich habe Web Api-Controller zu MVC 5-Anwendung hinzugefügt, aber die ganze Zeit erhalte ich Fehler 404 - Die Ressource kann nicht gefunden werden. Ich habe GlobalConfiguration.Configure (WebApiConfig.Register) zu Application_Start()web api 2 routing - Die Ressource kann nicht gefunden werden

protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 
     GlobalConfiguration.Configure(WebApiConfig.Register); 
    } 

hinzugefügt und ich habe Route registriert

public static class WebApiConfig 
{ 
    public static void Register(HttpConfiguration config) 
    { 
     config.MapHttpAttributeRoutes(); 
     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 
} 

Antwort

108

WebAPI Routing begann zu arbeiten, nachdem ich die Position der Register api geändert haben Methode, über den Registerwegen zu sein:

protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     GlobalConfiguration.Configure(WebApiConfig.Register); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 
    } 
+3

Danke !!!!!!! –

+5

Ich kann bestätigen, dass dies ein Problem für mich war. WebApiConfig.Register muss vor RouteConfig.RegisterRoutes gehen –

+2

Jeder weiß warum? denn wenn Sie ein brandneues Projekt erstellen, wird es immer noch das Problem haben – Kiarash

Verwandte Themen