Table of Contents

Class DefaultDirectRouteProvider

Namespace
System.Web.Http.Routing
Assembly
System.Web.Http.dll

A default implementation of IDirectRouteProvider.

public class DefaultDirectRouteProvider : IDirectRouteProvider
Inheritance
DefaultDirectRouteProvider
Implements
Inherited Members

Constructors

DefaultDirectRouteProvider()

public DefaultDirectRouteProvider()

Methods

GetActionDirectRoutes(HttpActionDescriptor, IReadOnlyList<IDirectRouteFactory>, IInlineConstraintResolver)

Creates RouteEntry instances based on the provided factories and action. The route entries provide direct routing to the provided action.

protected virtual IReadOnlyList<RouteEntry> GetActionDirectRoutes(HttpActionDescriptor actionDescriptor, IReadOnlyList<IDirectRouteFactory> factories, IInlineConstraintResolver constraintResolver)

Parameters

actionDescriptor HttpActionDescriptor

The action descriptor.

factories IReadOnlyList<IDirectRouteFactory>

The direct route factories.

constraintResolver IInlineConstraintResolver

The constraint resolver.

Returns

IReadOnlyList<RouteEntry>

A set of route entries.

GetActionRouteFactories(HttpActionDescriptor)

Gets a set of route factories for the given action descriptor.

protected virtual IReadOnlyList<IDirectRouteFactory> GetActionRouteFactories(HttpActionDescriptor actionDescriptor)

Parameters

actionDescriptor HttpActionDescriptor

The action descriptor.

Returns

IReadOnlyList<IDirectRouteFactory>

A set of route factories.

GetControllerDirectRoutes(HttpControllerDescriptor, IReadOnlyList<HttpActionDescriptor>, IReadOnlyList<IDirectRouteFactory>, IInlineConstraintResolver)

Creates RouteEntry instances based on the provided factories, controller and actions. The route entries provided direct routing to the provided controller and can reach the set of provided actions.

protected virtual IReadOnlyList<RouteEntry> GetControllerDirectRoutes(HttpControllerDescriptor controllerDescriptor, IReadOnlyList<HttpActionDescriptor> actionDescriptors, IReadOnlyList<IDirectRouteFactory> factories, IInlineConstraintResolver constraintResolver)

Parameters

controllerDescriptor HttpControllerDescriptor

The controller descriptor.

actionDescriptors IReadOnlyList<HttpActionDescriptor>

The action descriptors.

factories IReadOnlyList<IDirectRouteFactory>

The direct route factories.

constraintResolver IInlineConstraintResolver

The constraint resolver.

Returns

IReadOnlyList<RouteEntry>

A set of route entries.

GetControllerRouteFactories(HttpControllerDescriptor)

Gets route factories for the given controller descriptor.

protected virtual IReadOnlyList<IDirectRouteFactory> GetControllerRouteFactories(HttpControllerDescriptor controllerDescriptor)

Parameters

controllerDescriptor HttpControllerDescriptor

The controller descriptor.

Returns

IReadOnlyList<IDirectRouteFactory>

A set of route factories.

GetDirectRoutes(HttpControllerDescriptor, IReadOnlyList<HttpActionDescriptor>, IInlineConstraintResolver)

Gets direct routes for the given controller descriptor and action descriptors based on IDirectRouteFactory attributes.

public virtual IReadOnlyList<RouteEntry> GetDirectRoutes(HttpControllerDescriptor controllerDescriptor, IReadOnlyList<HttpActionDescriptor> actionDescriptors, IInlineConstraintResolver constraintResolver)

Parameters

controllerDescriptor HttpControllerDescriptor

The controller descriptor.

actionDescriptors IReadOnlyList<HttpActionDescriptor>

The action descriptors for all actions.

constraintResolver IInlineConstraintResolver

The constraint resolver.

Returns

IReadOnlyList<RouteEntry>

A set of route entries.

GetRoutePrefix(HttpControllerDescriptor)

Gets the route prefix from the provided controller.

protected virtual string GetRoutePrefix(HttpControllerDescriptor controllerDescriptor)

Parameters

controllerDescriptor HttpControllerDescriptor

The controller descriptor.

Returns

string

The route prefix or null.