2012-04-30 20 views
8

¿Cómo obtener todos los nombres de cadenas de conexión del web.config a través del código en C#?Obtenga varias cadenas de conexión de web.config

yo probamos este:

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

Respuesta

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

Puede leer más sobre 'Sistema .Configuration.ConfigurationManager.ConnectionStrings' en [MSDN] (http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringsettingscollection.aspx). –

+0

Obtenga *** cadena de conexión *** de *** machine.config *** también. No solo *** web.config ***. – Kiquenet

0
No

específico para cadenas de conexión, pero podría ser útil, no obstante.

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

Configuration config; 

if (ctx != null) 
    config = WebConfigurationManager.OpenWebConfiguration(ctx.Request.ApplicationPath); 
0

Esto es cómo utilizar LINQ para obtener la lista de nombres de cadena de conexión:

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

O usted puede construir un diccionario de ella:

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