使用ASP.NET MVC使用基于插件的体系结构开发多租户应用程序

时间:2017-03-19 14:11:51

标签: asp.net-mvc plugins architecture multi-tenant saas

我正在使用ASP.NET MVC开发一个多租户应用程序,在对多租户和SaaS进行了很好的研究后,我发现有许多资源可用于实现数据层(数据库:按模式分离,按数据库分类)或共享)但是可用于实现业务和UI层的资源非常有限。

我已经选择了单独的数据库方法。

现在为了使它成为真正的多租户,我选择了基于插件的架构(如umbraco和Nopcommerce),其中插件是一个基于租户的模型,视图和控制器的MVC应用程序。

以下是我将如何开发它:

  • 控制器工厂将根据租户(子域名)

  • 进行初始化
  • 将根据租户注入(使用DI)业务层。

  • 和UI(视图)将基于插件呈现。

但是这样一切都是多余的,无法分享共同的行为。

任何人都可以按照我分享共同行为的方式帮助设计它,还是有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

我已成功使用DI / IoC实现了类似的架构,以根据当前登录用户的租户注入正确的配置。 Autofac提供开箱即用的多租户功能,我建议您查看它。

http://docs.autofac.org/en/latest/advanced/multitenant.html

  

对于简短的回答感到抱歉,在移动设备上写作具有挑战性。我将在以后进入PC时尝试编辑和扩展答案