我有一个存储在web.config中的数据库连接字符串。我正在创建一个需要连接字符串的公共库。我可以把它传递给
Utility utilityToConnectToDb = new Utility("conString");
但是,我在图书馆中有一个叫Utility
的课程。所以我还需要告诉他们连接字符串的知识。这似乎很草率。
我正在考虑将XML文件添加到库中并将连接字符串存储在此文件中。
任何更好的想法或通常被广泛接受的方法来解决这个问题?
答案 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来处理更改配置信息。这样,如果配置信息发生变化,则更改起来相对容易。
配置类可以为项目的所有类所知。如果你想走得那么远,你可以加密数据甚至使用散列来验证值的完整性。