【问题标题】:One application with multiple databases connectionstring depend on user一个具有多个数据库连接字符串的应用程序取决于用户
【发布时间】:2023-04-08 06:41:01
【问题描述】:

我有一个需求,比如开发一个 ASP.net Web 应用程序。我想为具有不同数据库的不同公司托管此应用程序,但网站应仅在 IIS 中托管一个副本。因此,基于用户登录,应用程序应该连接不同的数据库服务器。

例如:如果用户“xxx”使用凭证登录并隶属于“ABC”公司,并且数据库为“ABC”,则需要在网页上显示ABC数据。

如果用户“XYZ”使用凭证登录并隶属于“HGJ”公司,并且数据库是“HGJ”,则需要在网页上显示HGJ数据。

谁能给出好的解决方案。

提前致谢

【问题讨论】:

  • 将数据库连接字符串存放在Config或数据库中,根据用户登录进行检索,
  • 在您的网络配置中有多个连接字符串并添加代码逻辑,将每个用户名登录与给定的连接字符串绑定
  • 在这里搜索“多租户” - 你会发现很多类似的问题。这个可能特别有用:stackoverflow.com/questions/2213006/…
  • 谢谢..@Wheels73
  • 我们可以在用户表中存储连接字符串吗...每个用户都有连接字符串..??

标签: c# sql asp.net sql-server asp.net-mvc


【解决方案1】:

为用户及其数据库实例维护一个单独的数据库,并在登录后从各自的数据库加载条目。这种方法会出现性能问题,因为 SQL 连接无法缓存,并且在用户数较多的情况下会显示缓慢。

SQL Server Connection Pooling

Multi-tenant SaaS database tenancy patterns

【讨论】:

    猜你喜欢
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多