更改多租户的Umbraco数据库连接字符串

更改多租户的Umbraco数据库连接字符串,umbraco,Umbraco,我正在使用多租户设置一个Umbraco应用程序,需要根据所选租户动态更改数据库连接字符串 我没有找到任何方法来更改Umbraco的连接字符串,因为它只适用于名为umbracodsn的连接字符串。我还尝试下载了Umbraco的源代码,但它似乎改变了Web.config文件本身中的ConnectionString 有人知道我怎样才能做到这一点吗 任何帮助都将不胜感激 如果你尝试这样做,我认为翁布拉科是行不通的。当您以多租户安装方式运行Umbraco时,它通常会对您在安装中运行的所有站点使用相同的数据

我正在使用多租户设置一个Umbraco应用程序,需要根据所选租户动态更改数据库连接字符串

我没有找到任何方法来更改Umbraco的连接字符串,因为它只适用于名为umbracodsn的连接字符串。我还尝试下载了Umbraco的源代码,但它似乎改变了Web.config文件本身中的ConnectionString

有人知道我怎样才能做到这一点吗


任何帮助都将不胜感激

如果你尝试这样做,我认为翁布拉科是行不通的。当您以多租户安装方式运行Umbraco时,它通常会对您在安装中运行的所有站点使用相同的数据库

您将遇到的问题是,Umbraco将生成其缓存文件等,这些文件将从数据库为站点供电,因此每次切换数据库时,这些缓存文件都将基于新数据库重新生成,因此所有原则都将显示上次使用的数据库的内容


如果您需要特定于客户端的数据,除了Umbraco使用的主核心数据库外,您还可以为每个客户端创建一个单独的数据库来存储特定于客户端的数据。

谢谢。如果我答对了,我是否需要使用Umbraco为所有租户建立单独的数据库?这取决于,您可以将所有租户特定的数据存储在同一个数据库中,您只需要找到一种方法来确定哪些数据属于每个租户。Umbraco可以很好地使用单个数据库。但根据我的要求,每个租户都有自己的独立数据库。有没有其他的选择我可以做到这一点?没有定制的核心代码我不认为。您可以调查Umbraco cloud,它允许您托管多个共享一组公共基线模板的站点,并查看这些站点是否满足您的要求?如果不在磁盘上运行多个具有不同位置和不同数据库的站点,您将无法实现这一目标。Umbraco为缓存生成各种临时文件和索引,从中运行站点。就性能而言,经常访问数据库是不明智的。您可能会看到索引是从数据库生成的,如果您切换掉连接字符串,这些索引将不再有效。您的站点可能会中断或重建这些索引-这两种方法都不是一个好的解决方案。