繁体   English   中英

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

[英]Where do you store your database connectionstring?

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

更新 :似乎共识是将连接字符串存储在配置文件中,并将缓存保留在ADO.NET的信任之中

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

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

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

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

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

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

从我可以回忆起.config文件的内容无论如何都保存在内存中......我会回复你的。

编辑: 说的是什么

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM