获取所有路由

百小僧 / 2023-05-04 / 原文

public void 获取所有路由([FromServices] IHttpContextAccessor httpContextAccessor
        , [FromServices] ApplicationPartManager part
        , [FromServices] IActionDescriptorCollectionProvider provider
        , [FromServices] IApiDescriptionGroupCollectionProvider provider2
        , [FromServices] IEnumerable<EndpointDataSource> sources)
    {
        var router = httpContextAccessor.HttpContext.Features.Get<IRouteValuesFeature>();
        var router2 = httpContextAccessor.HttpContext.Features.Get<IEndpointFeature>();

        var controllerFeature = new ControllerFeature();
        part.PopulateFeature(controllerFeature);

        var x = provider.ActionDescriptors.Items;
        var z = provider2.ApiDescriptionGroups.Items;

        var b = router.RouteValues;
        var c = router2.Endpoint;
    }