【问题标题】:Stored Connection Strings per user每个用户存储的连接字符串
【发布时间】:2010-05-21 22:02:16
【问题描述】:

过去,当应用程序通过 global.asa 文件启动时,我使用单例模式来加载连接字符串。

我现在有一个项目,其中每个用户都有一个唯一的数据库连接字符串。我想加载一次这个连接字符串。问题是单例模式对我不起作用,因为每个用户都有自己的连接字符串。基本上连接字符串是动态创建的。

我不想存储它是会话。如果无论如何在.NET中有一个聪明的方法让我知道?

【问题讨论】:

  • 你是如何使用连接字符串的?
  • 我们正在使用现有的连接字符串。然后用存储在数据库中的特定用户 ID 和密码替换用户 ID 和密码。这样我们就可以跟踪登录到数据库的每个用户。我希望我可以在用户登录时设置一次连接字符串,并且在需要时让我的代码调用它。我不想每次需要时都不断地构建它。

标签: vb.net string dynamic connection


【解决方案1】:

就资源而言,与数据库的连接非常昂贵,我个人建议您重新考虑每个用户拥有一个连接的要求。除非你能保证用户总数会非常少(比如不超过 5-10 个)。

话虽如此,您可以将连接存储在代表您的用户的User 对象中。或者有一个将用户 ID 映射到连接字符串的全局字典。

如果连接字符串之间的唯一区别是用户名/密码,您可以考虑模拟客户端并在 SQL Server 中使用 Windows 身份验证。

【讨论】:

  • 你在 USER 对象中是什么意思?现在 USERID 存储在会话中。我不想在会话中存储连接字符串。
猜你喜欢
  • 2012-05-18
  • 2015-12-02
  • 2018-12-20
  • 2011-12-08
  • 2011-08-11
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多