C# 正在从RouteCollectionRoute获取路由列表
我想从C# 正在从RouteCollectionRoute获取路由列表,c#,linq,routing,C#,Linq,Routing,我想从RequestContext.RouteData.Routes获取所有路由,其类型为System.Web.Mvc.Routing.RouteCollectionRoute 在调试器中打开时,我有一个选项“结果视图”,为我提供一个System.Web.Routing.Route列表,其中包含我需要的信息 如何在代码中获取此列表(或数组)?我尝试了foreach,还查看了是否有任何LinQ方法可以帮助我(.ToList等),但没有成功。在路由数据中没有路由之类的东西 RouteData仅包含带
RequestContext.RouteData.Routes
获取所有路由,其类型为System.Web.Mvc.Routing.RouteCollectionRoute
在调试器中打开时,我有一个选项“结果视图”,为我提供一个System.Web.Routing.Route
列表,其中包含我需要的信息
如何在代码中获取此列表(或数组)?我尝试了foreach,还查看了是否有任何LinQ方法可以帮助我(.ToList等),但没有成功。在
路由数据中没有路由
之类的东西
RouteData
仅包含带有URL参数的字典。也许这不是你想要的
但您可以通过这种方式轻松获得所有路线:
var routeList = System.Web.Routing.RouteTable.Routes.ToList();
在RouteData
中没有Routes
这样的东西
RouteData
仅包含带有URL参数的字典。也许这不是你想要的
但您可以通过这种方式轻松获得所有路线:
var routeList = System.Web.Routing.RouteTable.Routes.ToList();
FWIW,这对我不起作用,因为我试图获取URL清单。通常ApiExplorer可以很好地实现这一点,但是我们使用自定义模型绑定器,而ApiExplorer似乎不支持这一点。更多信息请点击此处:
无论如何,我能够使用以下代码获取API URL清单:
var httpConfiguration = Request.GetConfiguration(); //For reference
var routes = httpConfiguration.Routes
.Select(route => (IEnumerable)route)
.Single(route => route!=null)
.Cast<HttpRoute>();
var manifest = routes
.Select(route => route.RouteTemplate)
.ToList();
var httpConfiguration=Request.GetConfiguration()//供参考
var routes=httpConfiguration.routes
.选择(路由=>(IEnumerable)路由)
.Single(路由=>route!=null)
.Cast();
var manifest=routes
.Select(route=>route.RouteTemplate)
.ToList();
难看,但不管是好是坏,它都有效。FWIW,这对我不起作用,因为我试图获取URL清单。通常ApiExplorer可以很好地实现这一点,但是我们使用自定义模型绑定器,而ApiExplorer似乎不支持这一点。更多信息请点击此处:
无论如何,我能够使用以下代码获取API URL清单:
var httpConfiguration = Request.GetConfiguration(); //For reference
var routes = httpConfiguration.Routes
.Select(route => (IEnumerable)route)
.Single(route => route!=null)
.Cast<HttpRoute>();
var manifest = routes
.Select(route => route.RouteTemplate)
.ToList();
var httpConfiguration=Request.GetConfiguration()//供参考
var routes=httpConfiguration.routes
.选择(路由=>(IEnumerable)路由)
.Single(路由=>route!=null)
.Cast();
var manifest=routes
.Select(route=>route.RouteTemplate)
.ToList();
难看,但不管是好是坏,它都有效。这正是我所需要的。谢谢这正是我需要的。谢谢