【问题标题】:Get multiple connection strings from web.config从 web.config 获取多个连接字符串
【发布时间】:2012-04-30 13:49:24
【问题描述】:

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

我试过了:

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

【问题讨论】:

    标签: c# web-config connection-string


    【解决方案1】:

    这是使用 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);
    

    【讨论】:

      【解决方案2】:
          foreach (ConnectionStringSettings c in System.Configuration.ConfigurationManager.ConnectionStrings)
          {
              //use c.Name
          }
      

      【讨论】:

      • 你可以在MSDN阅读更多关于System.Configuration.ConfigurationManager.ConnectionStrings的信息。
      • 也从 machine.config 获取 连接字符串。不仅是 web.config
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-02
        • 2020-01-13
        • 1970-01-01
        • 2015-03-20
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多