C# WebAPI2和MVC5路由配置

C# WebAPI2和MVC5路由配置,c#,asp.net-web-api,asp.net-mvc-routing,asp.net-mvc-5,config,C#,Asp.net Web Api,Asp.net Mvc Routing,Asp.net Mvc 5,Config,我已经编写了一个C#ASP.net MVC5 internet应用程序,该程序运行良好,我可以使用Person模型执行CRUD操作 我添加了一个WebAPI 2控制器,它使用实体框架,但在尝试浏览任何WebAPI控制器方法时出错 WebAPI2控制器称为PersonAPIController。Getpeople方法在方法上方有//GET-api/PersonAPI注释,但是当浏览此方法时,我发现以下错误: 找不到资源 这是一个路由问题吗 我有一个RouteConfig和一个WebApiConfi

我已经编写了一个C#ASP.net MVC5 internet应用程序,该程序运行良好,我可以使用
Person
模型执行CRUD操作

我添加了一个WebAPI 2控制器,它使用实体框架,但在尝试浏览任何WebAPI控制器方法时出错

WebAPI2控制器称为
PersonAPIController
Getpeople
方法在方法上方有
//GET-api/PersonAPI
注释,但是当浏览此方法时,我发现以下错误:

找不到资源

这是一个路由问题吗

我有一个
RouteConfig
和一个
WebApiConfig
。这两种配置是否需要合并

以下是
RouteConfig
的内容:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}
public static void Register(HttpConfiguration config)
{
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}
以下是
WebApiConfig
的内容:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}
public static void Register(HttpConfiguration config)
{
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}
目前,这是我的
应用程序\u Start
方法:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RouteConfig.RegisterRoutes(RouteTable.Routes);
}
是否需要将
WebApiConfig.Register()
行代码添加到
RouteConfig.registerOutes(RouteTable.Routes)
之前

如果是,需要添加到
WebApiConfig.Register()
方法的参数是什么

提前谢谢

编辑

下面是要使用的确切代码:

GlobalConfiguration.Configure(WebApiConfig.Register);

确保在调用registerOutes(RouteCollection routes)之前调用
寄存器(HttpConfiguration config)
。顺序很重要

调用/api/personapi而不是/api/personapi/getpeople