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
resolversIEnumerable<ITenantResolver>The collection of tenant resolvers to try in order.
loggerILogger<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
contextTenantResolutionContextThe tenant resolution context containing request information.
cancellationTokenCancellationTokenThe cancellation token.
Returns
- Task<Result<TenantInfo>>
A task representing the asynchronous operation with the resolved tenant or null if not found.