asynchroner tenant
This commit is contained in:
@@ -37,7 +37,7 @@ public class TenantProvider : ITenantProvider
|
||||
}
|
||||
|
||||
// Resolve and cache in HttpContext.Items
|
||||
ResolveTenantAsync().GetAwaiter().GetResult();
|
||||
ResolveTenant();
|
||||
|
||||
if (httpContext.Items.TryGetValue("TenantId", out cachedId))
|
||||
{
|
||||
@@ -48,27 +48,27 @@ public class TenantProvider : ITenantProvider
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Tenant?> GetCurrentTenantAsync()
|
||||
public Task<Tenant?> GetCurrentTenantAsync()
|
||||
{
|
||||
var httpContext = _httpContextAccessor.HttpContext;
|
||||
if (httpContext == null) return null;
|
||||
if (httpContext == null) return Task.FromResult<Tenant?>(null);
|
||||
|
||||
if (httpContext.Items.TryGetValue("CurrentTenant", out var cachedTenant))
|
||||
{
|
||||
return (Tenant?)cachedTenant;
|
||||
return Task.FromResult((Tenant?)cachedTenant);
|
||||
}
|
||||
|
||||
await ResolveTenantAsync();
|
||||
ResolveTenant();
|
||||
|
||||
if (httpContext.Items.TryGetValue("CurrentTenant", out cachedTenant))
|
||||
{
|
||||
return (Tenant?)cachedTenant;
|
||||
return Task.FromResult((Tenant?)cachedTenant);
|
||||
}
|
||||
|
||||
return null;
|
||||
return Task.FromResult<Tenant?>(null);
|
||||
}
|
||||
|
||||
private async Task ResolveTenantAsync()
|
||||
private void ResolveTenant()
|
||||
{
|
||||
var httpContext = _httpContextAccessor.HttpContext;
|
||||
if (httpContext == null) return;
|
||||
@@ -82,9 +82,9 @@ public class TenantProvider : ITenantProvider
|
||||
|
||||
if (!string.IsNullOrEmpty(subdomain))
|
||||
{
|
||||
await using var db = await _dbContextFactory.CreateDbContextAsync();
|
||||
var tenant = await db.Tenants
|
||||
.FirstOrDefaultAsync(t => t.Subdomain.ToLower() == subdomain.ToLower());
|
||||
using var db = _dbContextFactory.CreateDbContext();
|
||||
var tenant = db.Tenants
|
||||
.FirstOrDefault(t => t.Subdomain.ToLower() == subdomain.ToLower());
|
||||
|
||||
if (tenant != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user