我正在使用ASP.NET MVC开发一个多租户应用程序,在对多租户和SaaS进行了很好的研究后,我发现有许多资源可用于实现数据层(数据库:按模式分离,按数据库分类)或共享)但是可用于实现业务和UI层的资源非常有限。
我已经选择了单独的数据库方法。
现在为了使它成为真正的多租户,我选择了基于插件的架构(如umbraco和Nopcommerce),其中插件是一个基于租户的模型,视图和控制器的MVC应用程序。
以下是我将如何开发它:
控制器工厂将根据租户(子域名)
将根据租户注入(使用DI)业务层。
和UI(视图)将基于插件呈现。
但是这样一切都是多余的,无法分享共同的行为。
任何人都可以按照我分享共同行为的方式帮助设计它,还是有更好的方法呢?
答案 0 :(得分:1)
我已成功使用DI / IoC实现了类似的架构,以根据当前登录用户的租户注入正确的配置。 Autofac提供开箱即用的多租户功能,我建议您查看它。
http://docs.autofac.org/en/latest/advanced/multitenant.html
对于简短的回答感到抱歉,在移动设备上写作具有挑战性。我将在以后进入PC时尝试编辑和扩展答案