新的带有Webapi的MVC4项目包含WebApiConfig和RouteConfig
本文关键字:包含 WebApiConfig RouteConfig 项目 MVC4 Webapi | 更新日期: 2023-09-27 17:50:04
我创建了一个新的基于MVC4 Webapi的项目,在应用程序开始文件夹中有几个文件。我注意到在RouteConfig.cs文件
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
和WebApiConfig.cs
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
现在从我可以告诉他们都在做大致相同的事情,除了一个使用。maproute和另一个。maphttproute的参数在符号上略有不同。这两种不同的路由是否适用于应用程序的不同方面?他们需要同时出现在两个地方吗?如果是/不是,哪个优先?
我的发现WebApiConfig.cs与RouteConfig.cs的区别
然而,它说的是一个是为Asp。Net路由,另一个用于WebApi路由,但我没有看到这两种路由类型在使用上的区别。
我觉得很奇怪。我刚刚在Visual Studio 2013中创建了一个新的Web API项目,我的WebApiConfig.cs看起来像这样:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
注意,routeTemplate中没有{action}组件。这是因为Web API中的动作是由与请求一起使用的HTTP动词决定的。