我正在 OrchardCMS 上为多租户环境开发功能“X”。我有一组数据应该针对默认租户播种到数据库中,并可供启用此功能“X”的所有租户使用。我不想在启用“X”功能时为每个租户复制这些默认数据集。
来自不同租户的用户应该能够复制这些数据并对其进行更改。这些复制的数据将仅限于租户。
这种行为在果园是可能的?我该怎么做?
我正在 OrchardCMS 上为多租户环境开发功能“X”。我有一组数据应该针对默认租户播种到数据库中,并可供启用此功能“X”的所有租户使用。我不想在启用“X”功能时为每个租户复制这些默认数据集。
来自不同租户的用户应该能够复制这些数据并对其进行更改。这些复制的数据将仅限于租户。
这种行为在果园是可能的?我该怎么做?
通过从 IOrchardHost 获取的 ShellContext 在另一个租户的上下文中运行代码相对容易,请参阅:http ://orcharddojo.net/blog/advanced-orchard-accessing-other-tenants-services
在没有重大核心更改的情况下,不在服务器级别上。Orchard 数据层的范围仅限于租户 - 没有数据共享。多租户功能旨在通过在一个应用程序中隔离多个外壳来实现更好的站点密度。这不是为了在他们之间建立任何关系。
您最好的选择是在默认租户中设置一些 API(例如使用 WebAPI)并以这种方式进行通信。