2014-07-23 318 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)完成; –