从后端代码中解除连接字符串

时间:2011-08-05 21:03:18

标签: c# sql

我有一个存储在web.config中的数据库连接字符串。我正在创建一个需要连接字符串的公共库。我可以把它传递给

Utility utilityToConnectToDb = new Utility("conString");

但是,我在图书馆中有一个叫Utility的课程。所以我还需要告诉他们连接字符串的知识。这似乎很草率。

我正在考虑将XML文件添加到库中并将连接字符串存储在此文件中。

任何更好的想法或通常被广泛接受的方法来解决这个问题?

3 个答案:

答案 0 :(得分:1)

您也可以将连接字符串放入库app.config文件中。然后你可以像在web项目中一样使用它。

答案 1 :(得分:1)

很难在库项目中维护连接,简单的方法是从其他库访问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;
    }

答案 2 :(得分:0)

对于像连接字符串这样的可变项,我喜欢构建一个可序列化的自定义类,并编写一个小UI来处理更改配置信息。这样,如果配置信息发生变化,则更改起来相对容易。

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