我正在开发一个非常复杂的 Multi-Tenancy 应用程序架构。
.
3款完全不同的应用
许多客户使用的不仅仅是一种类型的应用程序;有 3 种不同类型的应用程序。
应用程序 A、应用程序 B、应用程序 C
.
每个APP都是 Multi-Tenancy
每个应用程序都有其客户。
应用程序
- 客户 A1
- 客户 A2
应用程序B
- 客户 B1
- 客户 B2
应用程序
- 客户 C1
- 客户 C2
.
共享信息
许多信息在不同的应用程序之间共享
“客户A1”需要操作或仅查看 拥有的数据“客户C1”
.
问题
考虑到我正在使用 Asp net mvc、EF、Sql Server。
哪个是正确的实现?
一个站点和多个区域?
创建多个站点?
多个数据库?只有一个db?过滤? Sql过滤 View ? ...
一些应用示例?
编辑
和...在哪里放置业务逻辑?
最佳答案
我建议您首先在 .Net 之上构建自己的 Multi-Tenancy 工程堆栈(框架),它将处理 Multi-Tenancy 在租户明智的数据隔离、支持水平扩展、基于租户上下文和用户角色、租户明智的数据模型扩展、租户明智的 UI 定制、基于角色、权限和数据范围强制执行访问限制 - 对于不同的租户等可能有所不同。
业务逻辑可以建立在这个框架之上。这种方法将为您的产品提供强大而强大的工程基础。
另一种选择是购买现成的 Multi-Tenancy 工程堆栈,将其安装在 Visual Studio 上并将其用作开发模板。
关于asp.net-mvc - 共享数据的 Multi-Tenancy 应用程序(Asp net mvc + Entity Framework + Sql Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163889/