12

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

我试过这个:

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

3 回答 3

28
    foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings)
    {
        //use c.Name
    }
于 2012-04-30T13:54:47.033 回答
7

这是使用 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);
于 2017-11-15T16:20:15.333 回答
0

不特定于连接字符串,但可能仍然有帮助。

System.Web.HttpContext ctx = System.Web.HttpContext.Current;

Configuration config;

if (ctx != null)
    config = WebConfigurationManager.OpenWebConfiguration(ctx.Request.ApplicationPath);
于 2012-04-30T13:58:53.573 回答