c# - 将连接字符串与后端代码分离

标签 c# sql

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

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;
    }

关于c# - 将连接字符串与后端代码分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962621/

相关文章:

c# - 禁用窗口

sql - 带有 GROUP BY 和零条目的 MySQL COUNT

mysql - 字段列表中的列 'size' 不明确

SQL 选择 MAX(COUNT)

c# - Windows 更新后 WPF 控件不显示

c# - Decorator、Wrapper 和 Adapter 模式之间有什么区别?

sql - 在SQL Server Management Studio中获取调试输出

mysql - 具有多个选择的 MySql 语句出现问题

c# - 如何判断 X.509 证书是否可导出?

c# - T4 工具箱 Linq2Sql