从 web.config 获取多个连接字符串

本文关键字:连接 字符串 获取 web config | 更新日期: 2023-09-27 18:32:38

如何通过 C# 中的代码从 web.config 获取所有连接字符串的名称?

我试过这个:

System.Configuration.Configuration webConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection x = webConfig.ConnectionStrings;
string here = x.SectionInformation.Name;

从 web.config 获取多个连接字符串

    foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings)
    {
        //use c.Name
    }

下面介绍如何使用 LINQ 获取连接字符串名称的列表:

List<string> names = ConfigurationManager.ConnectionStrings
    .Cast<ConnectionStringSettings>()
    .Select(v => v.Name)
    .ToList();

或者你可以建立一个字典:

Dictionary<string/*name*/, string/*connectionString*/> keyValue = ConfigurationManager.ConnectionStrings
    .Cast<ConnectionStringSettings>()
    .ToDictionary(v => v.Name, v => v.ConnectionString);

不是特定于连接字符串,但可能会有所帮助。

System.Web.HttpContext ctx = System.Web.HttpContext.Current;
Configuration config;
if (ctx != null)
    config = WebConfigurationManager.OpenWebConfiguration(ctx.Request.ApplicationPath);