从后端代码解耦连接字符串
本文关键字:连接 字符串 解耦 代码 后端 | 更新日期: 2023-09-27 18:04:44
我有一个DB连接字符串存储在web.config。我正在创建一个需要连接字符串的公共库。我可以传入
Utility utilityToConnectToDb = new Utility("conString");
但是,我在库中有类调用Utility
。所以我还需要给他们连接字符串的知识。这看起来很草率。
我正在考虑向库中添加一个XML文件,并在该文件中存储连接字符串。
有更好的想法或普遍接受的方法来解决这个问题吗?在库项目中维护连接是困难的,简单的方法是从其他库访问web配置连接字符串。添加一个util方法来获取连接…
private string GetWebConfigConnection()
{
string conString = string.Empty;
System.Configuration.Configuration rootWebConfig =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/WebSite21"); // give your web site name here
System.Configuration.ConnectionStringSettings connString;
if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0)
{
connString = rootWebConfig.ConnectionStrings.ConnectionStrings["MainConnStr"]; // give your connection string name here
if (connString != null)
conString= connString.ConnectionString;
}
return conString;
}
您也可以将连接字符串放入库app.config文件中。然后你可以像在web项目中那样使用它
对于诸如连接字符串之类的可变项,我喜欢构建一个可序列化的自定义类,并编写一个小UI来处理更改配置信息。这样,如果配置信息发生变化,就相对容易进行更改。
配置类可以为项目的所有类所知道。您可以加密数据,甚至可以使用散列来验证值的完整性,如果您想要那么做的话。