【发布时间】:2014-06-14 19:15:57
【问题描述】:
我编写了一个运行良好的 C# ASP.net MVC5 互联网应用程序,我可以使用 Person 模型进行 CRUD 操作。
我添加了一个使用实体框架的 WebAPI2 控制器,但在尝试浏览任何 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 }
);
}
这里是WebApiConfig的内容:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
目前,这是我的Application_Start 方法:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
WebApiConfig.Register()这行代码需要加在RouteConfig.RegisterRoutes(RouteTable.Routes)之前吗?
如果有,WebApiConfig.Register()方法需要添加什么参数?
提前致谢
编辑
这是要使用的确切代码:
GlobalConfiguration.Configure(WebApiConfig.Register);
【问题讨论】:
标签: c# asp.net-web-api asp.net-mvc-routing asp.net-mvc-5 config