我看到Webapi使用RouteCollection来自GlobalConfiguration,MVC使用来自RouteTable。
我在这个链接中看到了一个解释:Difference between RouteTable.Routes and HttpConfiguration.Routes?
有人能提供一些更多的信息或详细的解释这些。
谢谢你,山姆
发布于 2014-05-02 10:28:50
萨姆,
RouteTable是asp.net/System.Web使用的路由的底层结构。
当您使用ASP.NET ( Visual中的默认模板)在IIS上运行时,路由将写入可路由,而WebHost用于在ASP.Net/System.Web和Web之间切换。在这种情况下,路由被写入到RouteTable。
但是Web也可以在WCF自主机或Owin self主机中运行(在控制台应用程序、服务或托管在应用程序代码中)。在这些情况下,ASP.NET (或者更准确地说) system.web不被用作托管层。这两台主机不提供路由抽象,而Web实现了自己的路由。
为了保持用户代码在不同主机之间的可移植性,将路由写入一个单独的集合,然后每个主机对其进行不同的使用。
另外,如果您计划在无IIS主机上运行Web,那么这也是Web中不推荐使用HttpContext.Current的原因。
https://stackoverflow.com/questions/23381962
复制相似问题