过去我使用Singleton Pattern在应用程序通过global.asa文件启动时加载连接字符串。
我现在有一个项目,每个用户都有一个到数据库的唯一连接字符串。我想加载一次这个连接字符串。问题是单例模式对我不起作用,因为每个用户都有自己的连接字符串。基本上,连接字符串是动态创建的。
我不想存储它是会话。如果无论如何在.NET中有一个聪明的方法让我知道吗?
答案 0 :(得分:2)
在资源方面,与数据库的连接非常昂贵,我个人建议您重新考虑每个用户拥有一个的要求。除非你能保证用户总数非常小(比如不超过5-10)。
话虽如此,您只需将连接存储在代表您的用户的User
对象中。或者有一个将用户ID映射到连接字符串的全局字典。
如果连接字符串之间的唯一区别是用户名/密码,则可以考虑模拟客户端并在SQL Server中使用Windows身份验证。