以下模式是否足够灵活,可以在多租户SAAS应用程序中发展,或者这是灾难的一个方法?
这是使用.net MVC 4 vs 2010
方法:
所有控制器都从基类继承。 基类对db上下文进行1次初始化,并将其传递给已实现接口的所有服务类构造函数。
没有任何服务类会在db上下文中调用savechanges(),因为如果涉及多个服务,这将终止任何类型的事务。因此,将在控制器中调用任何db事务。
根据每个租户的配置,我将能够使用此逻辑来确定我将选择的每个接口的哪个实现。每个控制器都可以从继承访问所有服务类。所有服务都传递给模型,以执行每个特定的页面逻辑。