如何遍历所有寄存器api路由?

时间:2015-06-03 09:43:41

标签: asp.net-web-api asp.net-web-api2

我有这个功能:

 protected void Application_Start()
    {
        Database.SetInitializer(new PersonDbInitializer());

        GlobalConfiguration.Configure(WebApiConfig.Register);

        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }

WebApiConfig是:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

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

在代码中的某个时刻,我想遍历所有寄存器api路由。 知道我该怎么办?

1 个答案:

答案 0 :(得分:0)

System.Web.Http.GlobalConfiguration是静态的,您可以使用

获取所有路线
GlobalConfiguration.Configuration.Routes


foreach (System.Web.Http.Routing.IHttpRoute route in GlobalConfiguration.Configuration.Routes)
{
}