通过子域动态注入实例

时间:2017-09-29 09:26:24

标签: asp.net dependency-injection asp.net-core multi-tenant

我有以下ActionFilter来创建/存储TenantFeature:

public async Task OnActionExecutionAsync(
            ActionExecutingContext context,
            ActionExecutionDelegate next)
        {
            // figure out tenant configuration 
            // create tenant feature 
            context.HttpContext.Features.Set<ITenantFeature>(tenantFeature);
            await next();
        }

然后我有一个基本控制器,我在其中定义了以下属性:

  public TenantConfig TenantConfig => Request.HttpContext.Features.Get<ITenantFeature>()?.TenantConfig;

我真的不想将此TenantConfiguration传递给应用程序/域层。

我正在寻找一种在OnActionExecutionAsync方法中创建可注入配置(每个请求)的方法。看起来似乎有道理?

为了能够做到这样的事情:

public DatabaseProvider (TenantConfig tenantConfig) { } 

P.S:我知道所有服务都在Startup.cs中定义。

P.S 2:租户配置是动态的,所以我无法在启动时注册。

0 个答案:

没有答案