From a2d2bbc734cbe873c000e92cf3bbe3ee89b1fac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 15 Dec 2016 23:25:50 +0300 Subject: [PATCH] Should create a schild scope for tenant resolving. --- .../Abp/MultiTenancy/MultiTenancyManager.cs | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenancyManager.cs b/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenancyManager.cs index 9b1fc127aa..6052a699a6 100644 --- a/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenancyManager.cs +++ b/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/MultiTenancyManager.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Volo.DependencyInjection; @@ -40,20 +41,23 @@ namespace Volo.Abp.MultiTenancy return null; } - var context = new CurrentTenantResolveContext(_serviceProvider); - - foreach (var tenantResolver in _options.TenantResolvers) + using (var serviceScope = _serviceProvider.CreateScope()) { - tenantResolver.Resolve(context); - if (context.IsHandled()) + var context = new CurrentTenantResolveContext(serviceScope.ServiceProvider); + + foreach (var tenantResolver in _options.TenantResolvers) { - break; + tenantResolver.Resolve(context); + if (context.IsHandled()) + { + break; + } + + context.Handled = null; } - context.Handled = null; + return context.Tenant; } - - return context.Tenant; } public IDisposable ChangeTenant(TenantInfo tenantInfo)