受欢迎的博客标签

Endpoint Debugging(router checker) in ASP.NET Core

Published

How to get a list of all routes in ASP.NET Core?

And here is what it looks like when you visit the page.

demo:https://search.iaspnetcore.com/Home/EndpointDebug

.Net 6.x

Step 1: Add Controller and action named with EndpointDebug

using Microsoft.AspNetCore.Mvc;


namespace Elasticsearch.Web.Controllers
{
    public class HomeController : Controller
    {
     

        public IActionResult EndpointDebug()
        {
            ViewData["Message"] = "Your contact page.";

            return View();
        }


    }
}

Step 2: Add Views named with EndpointDebug

path and file:Views/Home/EndpointDebug.cshtml

@page
@using Microsoft.AspNetCore.Mvc.ApplicationModels
@using Microsoft.AspNetCore.Mvc.RazorPages
@using Microsoft.AspNetCore.Routing
@inject EndpointDataSource EndpointsDataSource

@{
    var endpoints = EndpointsDataSource.Endpoints.ToList();
}

<table class="table">
    <thead class="thead-dark">
        <tr>
            <th scope="col">Order</th>
            <th scope="col">Display Name</th>
            <th scope="col">Route Pattern</th>
            <th scope="col">Metadata</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var endpoint in endpoints)
        {
            var routeEndpoint = endpoint as RouteEndpoint;
            <tr>
                <td>@routeEndpoint?.Order</td>
                <td>@endpoint.DisplayName</td>
                <td>@routeEndpoint?.RoutePattern.RawText</td>
                <td>
                    <ul>
                        @foreach (var md in endpoint.Metadata)
                        {
                            switch (md)
                            {
                                case PageRouteMetadata prm:
                                    <li>
                                        <p>@nameof(PageRouteMetadata)</p>
                                        <ul>
                                            <li>Page Route: @prm.PageRoute</li>
                                            <li>Route Template: @prm.RouteTemplate</li>
                                        </ul>
                                    </li>
                                    break;
                                case PageActionDescriptor pad:
                                    <li>
                                        <p>@nameof(PageActionDescriptor)</p>
                                        <ul>
                                            <li>Id: @pad.Id</li>
                                            <li>Area: @pad.AreaName</li>
                                            <li>Display Name: @pad.DisplayName</li>
                                            <li>View Engine Path: @pad.ViewEnginePath</li>
                                            <li>Relative Path: @pad.RelativePath</li>
                                        </ul>
                                    </li>
                                    break;
                                case RouteNameMetadata rnm:
                                    <li>
                                        Route Name Metadata: @rnm.RouteName
                                    </li>
                                    break;
                                case SuppressLinkGenerationMetadata slg:
                                    <li>
                                        suppress link: @slg.SuppressLinkGeneration;
                                    </li>
                                    break;
                                default:
                                    <li>@md.ToString()</li>
                                    break;
                            }
                        }
                    </ul>
                </td>
            </tr>
        }
    </tbody>
</table>

 

.Net Core 3.x /.Net Core 5.x

With .NET Core 3, the responsibility of routing is on the shoulders of the EndpointMiddlware component. Registrations of the approaches described above, MVC, Razor Pages, and API occur in the Configure method of the Startup class. Below, you’ll see the registration of all Razor Pages endpoints.

 

step 1:Add app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); });

Startup.cs

app.UseCors();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");


                endpoints.MapControllerRoute(
                            name: "areas",
                            pattern: "{area}/{controller}/{did?}/{action=Index}/{id?}");

                

                endpoints.MapRazorPages();  //add here
            });

What you may not realize is that each registration goes into a global bank of endpoints. This data source of endpoints is called the EndpointDataSource. Luckily, this data source is also registered (on the down-low) with your dependency injection container. The endpoint data source will be critical for our solution.

step 2 : display

path and file:Views/Home/EndpointDebug.cshtml

@using Microsoft.AspNetCore.Mvc.ApplicationModels
@using Microsoft.AspNetCore.Mvc.RazorPages
@using Microsoft.AspNetCore.Routing
@inject EndpointDataSource EndpointsDataSource

@{
    var endpoints = EndpointsDataSource.Endpoints.ToList();
}

<table class="table">
    <thead class="thead-dark">
    <tr>
        <th scope="col">Order</th>
        <th scope="col">Display Name</th>
        <th scope="col">Route Pattern</th>
        <th scope="col">Metadata</th>
    </tr>
    </thead>
    <tbody>
    @foreach (var endpoint in endpoints)
    {
        var routeEndpoint = endpoint as RouteEndpoint;
        <tr>
            <td>@routeEndpoint?.Order</td>
            <td>@endpoint.DisplayName</td>
            <td>@routeEndpoint?.RoutePattern.RawText</td>
            <td>
                <ul>
                    @foreach (var md in endpoint.Metadata)
                    {
                        switch (md)
                        {
                            case PageRouteMetadata prm:
                                <li>
                                    <p>@nameof(PageRouteMetadata)</p>
                                    <ul>
                                        <li>Page Route: @prm.PageRoute</li>
                                        <li>Route Template: @prm.RouteTemplate</li>
                                    </ul>
                                </li>
                                break;
                            case PageActionDescriptor pad:
                                <li>
                                    <p>@nameof(PageActionDescriptor)</p>
                                    <ul>
                                        <li>Id: @pad.Id</li>
                                        <li>Area: @pad.AreaName</li>
                                        <li>Display Name: @pad.DisplayName</li>
                                        <li>View Engine Path: @pad.ViewEnginePath</li>
                                        <li>Relative Path: @pad.RelativePath</li>
                                    </ul>
                                </li>
                                break;
                            case RouteNameMetadata rnm:
                                <li>
                                    Route Name Metadata: @rnm.RouteName
                                </li>
                                break;
                            case SuppressLinkGenerationMetadata slg:
                                <li>
                                    suppress link: @slg.SuppressLinkGeneration;
                                </li>
                                break;
                            default:
                                <li>@md.ToString()</li>
                                break;
                        }
                    }
                </ul>
            </td>
        </tr>
    }
    </tbody>
</table>

 

And here is what it looks like when you visit the page.

demo:https://search.iaspnetcore.com/Home/EndpointDebug

 

OrderDisplay NameRoute PatternMetadata
0Elasticsearch.Web.Controllers.ArticleAPIController.Get (Elasticsearch.Web)api/ArticleAPI
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.Controllers.ArticleAPIController.Get (Elasticsearch.Web)api/ArticleAPI/{id}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.Controllers.ArticleAPIController.Post (Elasticsearch.Web)api/ArticleAPI
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.Controllers.ArticleAPIController.Put (Elasticsearch.Web)api/ArticleAPI/{id}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpPutAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.Controllers.ArticleAPIController.Delete (Elasticsearch.Web)api/ArticleAPI/{id}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpDeleteAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
1Elasticsearch.Web.Controllers.ElasticsearchController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
  • suppress link: True;
1Elasticsearch.Web.Controllers.ElasticsearchController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
  • suppress link: True;
1Elasticsearch.Web.Controllers.ElasticsearchDemoByVueController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.HomeController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.HomeController.About (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.HomeController.Contact (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.HomeController.Error (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.HomeController.EndpointDebug (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.IndexerController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.IndexerController.CreateBlogIndex (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • System.Runtime.CompilerServices.AsyncStateMachineAttribute
  • System.Diagnostics.DebuggerStepThroughAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.SearchController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Controllers.SearchController.Index77 (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
  • suppress link: True;
1Elasticsearch.Web.Controllers.SearchController.Index410 (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
  • suppress link: True;
1Elasticsearch.Web.Controllers.SearchController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
  • suppress link: True;
2Elasticsearch.Web.Areas.Stockso.Controllers.HomeController.Index (Elasticsearch.Web){area}/{controller}/{did?}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.AreaAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: areas
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Areas.Stockso.Controllers.IndexerController.Index (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
1Elasticsearch.Web.Areas.Stockso.Controllers.IndexerController.CreateBlogIndex (Elasticsearch.Web){controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • System.Runtime.CompilerServices.AsyncStateMachineAttribute
  • System.Diagnostics.DebuggerStepThroughAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Microsoft.AspNetCore.Routing.DataTokensMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • suppress link: True;
0Elasticsearch.Web.Areas.Stockso.Controllers.SearchController.Index (Elasticsearch.Web)Stockso/Search/Index
  • Microsoft.AspNetCore.Mvc.AreaAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
0Elasticsearch.Web.Areas.Stockso.Controllers.SearchController.Index (Elasticsearch.Web)Stockso/Search/Index
  • Microsoft.AspNetCore.Mvc.AreaAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.APIControllers.ElasticsearchAPIController.ElasticSearchModel (Elasticsearch.Web)api/v1/ElasticsearchAPI/GetSearchDataMenu
  • Microsoft.AspNetCore.Cors.EnableCorsAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • System.Runtime.CompilerServices.AsyncStateMachineAttribute
  • System.Diagnostics.DebuggerStepThroughAttribute
  • Microsoft.AspNetCore.Mvc.HttpGetAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.APIControllers.ElasticsearchAPIController.CreateIndex (Elasticsearch.Web)api/v1/ElasticsearchAPI/createindex
  • Microsoft.AspNetCore.Cors.EnableCorsAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • System.Runtime.CompilerServices.AsyncStateMachineAttribute
  • System.Diagnostics.DebuggerStepThroughAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.APIControllers.ElasticsearchAPIController.Index (Elasticsearch.Web)api/v1/ElasticsearchAPI/test/createindex
  • Microsoft.AspNetCore.Cors.EnableCorsAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Mvc.RouteAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
0Elasticsearch.Web.APIControllers.ElasticsearchAPIController.ElasticSearchIndex (Elasticsearch.Web)api/v1/ElasticsearchAPI/searchindex
  • Microsoft.AspNetCore.Cors.EnableCorsAttribute
  • Microsoft.AspNetCore.Mvc.ControllerAttribute
  • System.Runtime.CompilerServices.AsyncStateMachineAttribute
  • System.Diagnostics.DebuggerStepThroughAttribute
  • Microsoft.AspNetCore.Mvc.HttpPostAttribute
  • Microsoft.AspNetCore.Routing.HttpMethodMetadata
  • Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor
  • Route Name Metadata:
  • Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter
  • Microsoft.AspNetCore.Mvc.ViewFeatures.SaveTempDataAttribute
  • Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter
  • Microsoft.AspNetCore.Mvc.ActionConstraints.HttpMethodActionConstraint
1Route: {controller=Home}/{action=Index}/{id?}{controller=Home}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Routing.SuppressMatchingMetadata
  • Route Name Metadata: default
  • Microsoft.AspNetCore.Routing.EndpointNameMetadata
2Route: {area}/{controller}/{did?}/{action=Index}/{id?}{area}/{controller}/{did?}/{action=Index}/{id?}
  • Microsoft.AspNetCore.Routing.SuppressMatchingMetadata
  • Route Name Metadata: areas
  • Microsoft.AspNetCore.Routing.EndpointNameMetadata