考虑接口IWorkflow
,它是我们定义的SDK中的合同。租户可以提供自己的定制实现IWorkflow
。因此,在运行时,我们需要基于租户上下文动态加载:使用Unity的多租户依赖关系解决方案
var container = new UnityContainer();
container.RegisterTenantCustomizations();
var workflow0 = container.ResolveForTenant<IWorkflow>("tenant0");
var workflow1 = container.ResolveForTenant<IWorkflow>("tenant1");
var workflow2 = container.ResolveForTenant<IWorkflow>("tenant2");
^^^^^^^^^^^^^^^^
此扩展方法的外观应该如何? Unity IOC是否提供了一个属性,我们可以使用它来修饰它们各自的租户的类别?
为什么每个租户没有单独的容器,如果租户特定容器中没有条目,则回退到默认容器,看起来简单而整洁? – Saravanan