我有以下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:租户配置是动态的,所以我无法在启动时注册。