#### [Abblix\.Oidc\.Server\.Mvc](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc 'index')
### [Abblix\.Oidc\.Server\.Mvc\.Features\.EndpointResolving](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Features.EndpointResolving 'Abblix\.Oidc\.Server\.Mvc\.Features\.EndpointResolving')

## EndpointResolver Class

Resolves a fully qualified URI for a specific controller and action based on ASP\.NET Core's endpoint routing\.

```csharp
public class EndpointResolver : Abblix.Oidc.Server.Mvc.Features.EndpointResolving.IEndpointResolver
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → EndpointResolver

Implements [IEndpointResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Features.EndpointResolving.IEndpointResolver 'Abblix\.Oidc\.Server\.Mvc\.Features\.EndpointResolving\.IEndpointResolver')
### Constructors

## EndpointResolver\(ILogger\<EndpointResolver\>, EndpointDataSource, IUriResolver\) Constructor {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.EndpointResolver(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver_,Microsoft.AspNetCore.Routing.EndpointDataSource,Abblix.Oidc.Server.Mvc.IUriResolver)}

Resolves a fully qualified URI for a specific controller and action based on ASP\.NET Core's endpoint routing\.

```csharp
public EndpointResolver(Microsoft.Extensions.Logging.ILogger<Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver> logger, Microsoft.AspNetCore.Routing.EndpointDataSource endpointDataSource, Abblix.Oidc.Server.Mvc.IUriResolver uriResolver);
```
#### Parameters

###### `logger` [Microsoft\.Extensions\.Logging\.ILogger&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1')[EndpointResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver 'Abblix\.Oidc\.Server\.Mvc\.Features\.EndpointResolving\.EndpointResolver')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger-1 'Microsoft\.Extensions\.Logging\.ILogger\`1') {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.EndpointResolver(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver_,Microsoft.AspNetCore.Routing.EndpointDataSource,Abblix.Oidc.Server.Mvc.IUriResolver).logger}

The logger for debugging endpoint resolution\.

###### `endpointDataSource` [Microsoft\.AspNetCore\.Routing\.EndpointDataSource](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.endpointdatasource 'Microsoft\.AspNetCore\.Routing\.EndpointDataSource') {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.EndpointResolver(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver_,Microsoft.AspNetCore.Routing.EndpointDataSource,Abblix.Oidc.Server.Mvc.IUriResolver).endpointDataSource}

The endpoint data source that provides access to all configured route endpoints in the application\.

###### `uriResolver` [IUriResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.IUriResolver 'Abblix\.Oidc\.Server\.Mvc\.IUriResolver') {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.EndpointResolver(Microsoft.Extensions.Logging.ILogger_Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver_,Microsoft.AspNetCore.Routing.EndpointDataSource,Abblix.Oidc.Server.Mvc.IUriResolver).uriResolver}

The URI resolver used to convert relative paths to absolute URIs\.
### Methods

## EndpointResolver\.Resolve\(string, string\) Method {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.Resolve(string,string)}

Resolves the absolute URI for a given controller and action based on the configured routes\.

```csharp
public System.Uri? Resolve(string controllerName, string actionName);
```
#### Parameters

###### `controllerName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.Resolve(string,string).controllerName}

The name of the controller \(without the "Controller" suffix\)\.

###### `actionName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.EndpointResolver.Resolve(string,string).actionName}

The name of the action method\.

Implements [Resolve\(string, string\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Features.EndpointResolving.IEndpointResolver#Abblix.Oidc.Server.Mvc.Features.EndpointResolving.IEndpointResolver.Resolve(string,string) 'Abblix\.Oidc\.Server\.Mvc\.Features\.EndpointResolving\.IEndpointResolver\.Resolve\(string, string\)')

#### Returns
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')  
A [System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri') representing the absolute route to the specified controller and action,
or `null` if no matching route was found\.

### Remarks
This method matches endpoints based on [Microsoft\.AspNetCore\.Mvc\.Controllers\.ControllerActionDescriptor](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.controllers.controlleractiondescriptor 'Microsoft\.AspNetCore\.Mvc\.Controllers\.ControllerActionDescriptor') metadata\.
The resulting URI is based on the route pattern's raw template and the base URL from the current request context\.
