public string ResolveTenantIdOrName() { if (!_options.TenantResolvers.Any()) { return(null); } using (var serviceScope = _serviceProvider.CreateScope()) { var context = new TenantResolveContext(serviceScope.ServiceProvider); foreach (var tenantResolver in _options.TenantResolvers) { tenantResolver.Resolve(context); if (context.HasResolvedTenantOrHost()) { return(context.TenantIdOrName); } } //Could not find a tenant return(null); } }
public TenantResolveResult ResolveTenantIdOrName() { var result = new TenantResolveResult(); using (var serviceScope = _serviceProvider.CreateScope()) { var context = new TenantResolveContext(serviceScope.ServiceProvider); foreach (var tenantResolver in _options.TenantResolvers) { tenantResolver.Resolve(context); result.AppliedResolvers.Add(tenantResolver.Name); if (context.HasResolvedTenantOrHost()) { result.TenantIdOrName = context.TenantIdOrName; break; } } } return(result); }