gpt4 book ai didi

sql - 一个应用多个实例和不同的数据库

转载 作者:行者123 更新时间:2023-12-04 09:03:57 24 4
gpt4 key购买 nike

我正在构建一个案例管理应用程序,其中一个要求是每个客户都可以使用自己的 URL 获取自己的数据库。然而,在升级时维护应用程序的多个实例开始成为一场噩梦。我正在使用 IIS 7 ASP.NET MVC。我想要一个应用程序,并让应用程序知道从哪个数据库获取数据,具体取决于用户身份验证。有没有可行的替代方案?

最佳答案

是的,如果可能的话,最好有一个应用程序实例,否则它会变得复杂。如果不同客户端的功能不同,则使用功能标志为每个客户端/用户打开/关闭功能。请参阅以下 Martin Fowler 的文章。功能标志可以是每个用户或客户端。 Facebook 和其他几个主要网站都有效地使用了功能标志。

http://martinfowler.com/bliki/FeatureToggle.html

关于数据库,我想你可以有一个常用数据库它具有包括所有客户在内的所有基本信息,然后具有 特定于每个客户端的其他数据库 它具有客户端的所有其他数据。

当任何用户点击 中的客户端特定 URL 时Session_Start 的方法Global.asax 添加逻辑以获取适当的连接字符串并将其存储在 session ( Session["ClientDbConnectionString"] ) 中,以便您可以在需要来自客户端数据库的数据时使用它。

我建议您将所有连接字符串存储在 Common 数据库中的一个表中(使用一个标识每个客户端的键),以便在您想要加入新客户端时添加新的连接字符串行。每当您发布新版本时,我都会建议一起更新所有客户端数据库,而不是仅更新一个客户端数据库,否则一段时间后它将变得无法管理。

关于sql - 一个应用多个实例和不同的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20841058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com