未找到ASP.NET Web API资源错误

Suk*_*ala 2 asp.net-web-api asp.net-mvc-5

我在我的asp.net mvc5 web项目中添加了一个Api Controller,以及其他控制器......我正在不断地找到资源找不到错误.请指出我可能犯的错误......

以下是我对WebApi路由的Register方法

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

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

这是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);
    }
Run Code Online (Sandbox Code Playgroud)

这是我的Api控制器类

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

" http://sukhdev.com/api/search "是我用来调用web api的url方案,但它坚持"无法找到资源".

syl*_*ter 10

你为什么评论//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);



    }
Run Code Online (Sandbox Code Playgroud)

  • 我刚检查顺序是重要的举动GlobalConfiguration.Configure(WebApiConfig.Register); 在RouteConfig.RegisterRoutes(RouteTable.Routes)之前; (10认同)