2014-07-23 317 views
2

我在我的asp.net mvc5 web項目中添加了一個Api控制器,以及其他控制器......我一直在等待找到資源未找到錯誤。請指出我的錯誤可能使...未找到ASP.NET Web API資源錯誤

以下是我的WebAPI路線註冊方法

public static void Register(HttpConfiguration config) 
    { 
     config.MapHttpAttributeRoutes(); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 

這裏是Global.asax.cs中

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

     WebApiConfig.Register(GlobalConfiguration.Configuration); 
    } 

這裏我的API控制器class

public class SearchController : ApiController 
{ 
    public IEnumerable<string> GetSearch() 
    { 
     return new string[] { "value1", "value2" }; 
    } 
} 

http://sukhdev.com/api/search」是我用來調用web api的url方案,但它是pers非常「無法找到資源」。

回答

9

爲什麼你評論//GlobalConfiguration.Configure(WebApiConfig.Register);

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



    } 
+1

它有什麼不同? –

+0

GlobalConfiguration.Configure(WebApiConfig.Register)將註冊您的路由 – sylwester

+0

它由WebApiConfig.Register(GlobalConfiguration.Configuration)完成; –