从后端代码解耦连接字符串

本文关键字:连接 字符串 解耦 代码 后端 | 更新日期: 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来处理更改配置信息。这样,如果配置信息发生变化,就相对容易进行更改。

配置类可以为项目的所有类所知道。您可以加密数据,甚至可以使用散列来验证值的完整性,如果您想要那么做的话。