【问题标题】:Multiple Database with single Website using Database Overwrite the Connection String使用数据库覆盖连接字符串的单个网站的多个数据库
【发布时间】:2016-08-08 09:13:38
【问题描述】:

我有多租户 Web 应用程序。我想发布一个支持多个数据库的网站,其中连接字符串保存在数据库中

例子:

登录用户-A --> 连接到数据库-A 登录用户-B --> 连接数据库-B

master 数据库保存用户和连接字符串。

但是我的问题是,当用户 A 登录到应用程序时,它可以正常工作(使用 DB-A),一旦用户 B 登录,它会如何覆盖连接字符串。然后两个用户都显示 DB-B 数据。

你能帮忙吗

谢谢

【问题讨论】:

  • 糟糕的架构。
  • 对于 100 个用户,你有 100 个数据库? - 当你更新程序(和数据库)时,你将如何让 100 个数据库更新而没有错误和错误?
  • 我们不会经常更新我们的数据库..但是程序可能是或者你有更好的解决方案?
  • 为什么不使用设计模式?在应用程序启动时检查哪个用户已登录并使用该用户连接字符串。您也可以在 app.config 文件中添加连接字符串。

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


【解决方案1】:

您可以使用会话来根据用户类型分配连接字符串。在用户注销时,关闭会话。这将阻止值被覆盖。

【讨论】:

  • 感谢 Dheeraj 的回复 它对每个查询/或数据库命中的方法我需要打开和关闭连接..它会影响性能吗?
  • 不,不应该。我开发了一个项目,在每个页面中打开和关闭了 n 次连接。确保它在最后关闭。
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多