您在哪里存储数据库连接字符串?

时间:2008-09-03 02:12:35

标签: asp.net

我通常将我的connectionstring存储在web.config或Visual Studio项目的应用程序设置中。我正在处理的应用程序会对数据库进行大量访问,这意味着它每次都会查找连接字符串。我应该将连接字符串放在缓存中还是应该将整个SqlConnection对象存储在缓存中以消除始终打开和关闭它们的需要?

更新:似乎一致意见是将连接字符串存储在配置文件中,并将缓存保留在ADO.NET的信任手中

6 个答案:

答案 0 :(得分:4)

我不会缓存连接对象,这将破坏内置连接池 - ADO.NET将自己有效地处理连接(假设您实例化并关闭它们)。

就连接字符串本身而言,如果从连接加载它,则不需要缓存它 - 当您第一次访问连接时,.NET 2.0框架中的连接管理器对象会将配置加载到内存中,因此存在没有重复访问文件系统。

答案 1 :(得分:3)

缓存了web.config。但即使不是,也不要忘记ado.net维护一个连接池 - 每次调用db时都不会打开新连接。

答案 2 :(得分:1)

我通常将连接字符串缓存在应用程序的全局配置对象中。这个值在程序执行开始时从它存储的地方加载 - 文件,加密文件,配置文件等.ADO.NET非常擅长将连接对象缓存到数据库,所以我不会缓存SqlConnection对象

答案 3 :(得分:0)

将其保存在配置文件中。使用由NHibernate或Linq to Sql等工具提供的强大数据访问策略。

答案 4 :(得分:0)

据我所知,.config文件的内容无论如何都保存在内存中......我会回复你的。

编辑:HE说的是什么

答案 5 :(得分:0)

可能的解决方案: 存储初始加密连接字符串(在Web.Config或App.Config中),以允许仅运行一个存储过程进行身份验证的登录。然后从存储在db中的配置表中的加密值动态切换登录。