Table of Contents

Class CompositeTenantResolver

Namespace
Compendium.Multitenancy
Assembly
Compendium.Multitenancy.dll

A composite tenant resolver that tries multiple resolution strategies in sequence. Returns the result from the first resolver that successfully identifies a tenant.

public sealed class CompositeTenantResolver : ITenantResolver
Inheritance
CompositeTenantResolver
Implements
Inherited Members

Constructors

CompositeTenantResolver(IEnumerable<ITenantResolver>, ILogger<CompositeTenantResolver>)

Initializes a new instance of the CompositeTenantResolver class.

public CompositeTenantResolver(IEnumerable<ITenantResolver> resolvers, ILogger<CompositeTenantResolver> logger)

Parameters

resolvers IEnumerable<ITenantResolver>

The collection of tenant resolvers to try in order.

logger ILogger<CompositeTenantResolver>

The logger instance.

Exceptions

ArgumentNullException

Thrown when resolvers or logger is null.

Methods

ResolveTenantAsync(TenantResolutionContext, CancellationToken)

Resolves tenant information by trying each resolver in sequence until one succeeds.

public Task<Result<TenantInfo?>> ResolveTenantAsync(TenantResolutionContext context, CancellationToken cancellationToken = default)

Parameters

context TenantResolutionContext

The tenant resolution context containing request information.

cancellationToken CancellationToken

The cancellation token.

Returns

Task<Result<TenantInfo>>

A task representing the asynchronous operation with the resolved tenant or null if not found.