编程语言
首页 > 编程语言> > c#-MVC WebAPI中的MapRoute或MapHttpRoute

c#-MVC WebAPI中的MapRoute或MapHttpRoute

作者:互联网

由于WebApi路由映射可以通过MapHttpRoute完成:

            myConfig.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

我还需要使用MapRoute这样映射路线吗?

            RouteTable.Routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

>第一个问题:如果我错了,请纠正我.我认为MapRoute仅用于支持MVC页面(例如帮助页面等)…因此,如果我不这样做
我的Api有任何MVC页面,我是否仍需要实施
route.MapRoute部分?
>第二个问题:如果我需要在我的Api中添加任何mvc页面(即帮助页面),可以通过MapHttpRoute完成

解决方法:

第一个问题

如果您不使用MVC,则不需要MapRoute

第二个问题

不会.MapHttpRoute将仅针对从ApiController派生的类(或IHttpController的实现中的动作方法)内的操作方法,但这在大多数情况下是从ApiController派生的高级情况.

另一方面,查看名称空间足够直观.

MapRoute是System.Web.Mvc命名空间中的RouteCollectionExtensions类的方法,有关更多信息,请参见this.

MapHttpRoute是System.Web.Http命名空间中的HttpRouteCollectionExtensions类的方法,有关更多信息,请参见this

这里的System.Web.Http与WebAPI相关.

标签:asp-net-web-api,asp-net-mvc-routing,c,asp-net-mvc
来源: https://codeday.me/bug/20191120/2040286.html