public async Task <ITenantServices> GetTenantAsync(string tenant)
        {
            ITenantServices tenantServices = null;

            if (TenantCache.TryGetValue(tenant, out tenantServices))
            {
                return(tenantServices);
            }
            var(fresh, value) = await GetValueAsync();

            var tenantConfig = (from item in value.Tenants
                                where item.Name == tenant
                                select item).FirstOrDefault();

            if (tenantConfig == null)
            {
                return(null);
            }
            var discoveryCache = await GetDiscoveryCacheAsync();

            tenantServices      = new TenantServices(_httpClientFactory, tenantConfig, discoveryCache);
            TenantCache[tenant] = tenantServices;

            return(tenantServices);
        }
示例#2
0
 public TenantsController(IJobServices jobServices, ITenantServices tenantServices)
 {
     this.jobServices    = jobServices;
     this.tenantServices = tenantServices;
 }