gpt4 book ai didi

c# - 用MVC和Web API注册路由的方式之间有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 17:51:50 26 4
gpt4 key购买 nike

在我的MVC和WebAPI应用程序中,我看到了两种不同的路由方式。


一种用于MVC的方法,它调用RegisterRoutes并传递RouteTable.Routes
一种用于Web API,调用CustomizeConfig并传递GlobalConfiguration.Configuration。


对于WebAPI:

WebApiConfig.CustomizeConfig(GlobalConfiguration.Configuration);

public static void Register(System.Web.Http.HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: ApiControllerOnly,
routeTemplate: "api/{controller}");
}


对于MVC:

RouteConfig.RegisterRoutes(RouteTable.Routes);

public static void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapRoute("DefaultRedirect",
"",
new { controller = "Home", action = "Index" });
}


有人可以解释一下我在一个或另一个方法调用中注册路线是否有任何区别?还有为什么要这样使用一次呢?

最佳答案

MVC路由向ASP.NET(system.web)路由集合注册。但是,Web API设计为可以在system.web之上的IIS中运行,也可以作为自身主机运行,而无需更改代码。

因此,Web API具有不同的注册机制,它可以在后台使用system.web路由,也可以在使用自托管时使用它自己的路由系统(开箱即用地支持WCF自托管或Owin主机)。

还有一个小的区别,Web API路由要求命名该路由,而MVC路由则不需要。

关于c# - 用MVC和Web API注册路由的方式之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com